Identifying a bias against Windows and .NET.
Today I shared the experience a friend had with one of the companies he works with. It involved a failed transition from what was mainly a console-based suite of applications powered by Sun systems and Oracle, to an AJAX and Web-based system running on Windows, .NET and SQL Server. It seems that that entry was submitted to Reddit, and so I’ve been reading some of the comments that were left there.
Some of the comments were quite insightful. But there were two that I found to be just plain funny! Here is the first comment, and here is the second comment.
In those comments I am accused of being “biased against windows and ajax” and guilty of “discrimination against Windows & dot-Net”. Well, I would like to address those allegations!
First of all, I’ve been doing this long enough to not get to attached to certain products or technologies. In the end, it’s all about solutions that work to solve the client’s problems in an efficient and financially-sound way. I’m glad that I get to mostly work with Solaris, HP-UX, AiX, FreeBSD, Linux and other UNIX-like systems. But I’ve worked with Windows many times before. As long as the job gets done properly, I really don’t care what software is being used.
In this case, my feelings regarding Windows, .NET and SQL Server have absolutely no impact on the problems that that company experienced with their transition. Beyond hearing about it from my friend, I had no involvement with the development of the old system, nor any involvement with the development of the new system.
Furthermore, the fact remains that the old, UNIX- and Oracle-based system worked just fine. The new .NET-based system did not work in a suitable manner. Pointing out that certain software did not perform in an adequate fashion in a certain situation does not indicate bias. All it indicates is that the software in question was not capable of performing what needed to be done.
Likewise, the AJAX-based UI proved inefficient compared to the previous curses-based interface. That’s just how things worked out. Again, my feelings, thoughts or biases would have had absolutely no impact on the situation, as I was not involved.
I do thank the two comment authors for their thoughts and opinions. However, I also urge them to be more careful in the future when accusing others of bias. Just because a particular technology fails to work in a particular situation, and this failure becomes a topic of discussion, there is not necessarily bias against that technology. Sometimes technology fails. We must admit this, and learn from such failures.
July 29th, 2007 at 4:36 pm
After I read your post, before I read the reddit comments, I too got twinge of anti-Windows/.NET sentiment from you. I didn’t post in the reddit comments though
I think the reason your blog posting came off as anti-Windows/.NET/AJAX is primarily because of a couple of the “major lessons” bullet points at the end.
The two in particular are:
# Use mature, well-tested, effective software (eg. Solaris, Oracle, FreeBSD).
# Avoid immature fad
July 29th, 2007 at 5:42 pm
Saying “don’t use AJAX” or “All it indicates is that the software in question was not capable of performing what needed to be done.” is like blaming your hammer because your nail didn’t drive straight into the wood. The proper tools, in the proper hands can produce the desired result.
Do you think a web based front end using CGI and C on the backend would have produced the desired results?
July 29th, 2007 at 6:27 pm
Scott, you fail to see the point entirely. This isn’t about the quality of the programmers. AJAX is too limited because using a web interface itself is too limited for the type of use case they were designing for.
It also isn’t about two hammers either. Honestly, it’s like giving someone a brand new car when their old jeep was what they really needed. They both get you from point A to point B, but the jeep could go places the cat was never designed to go.
It’s obviously not just just the use of AJAX, because the team that implemented the new system obviously had no idea what the users needed. But therein lies the problem: the wrong tools chosen by the wrong people yield suboptimal results.
Regardless of whether it was CGI/C or Ruby on Rails, you’ll still get a suboptimal system with a web front-end for many use cases. You don’t change an expert’s tools for them - you let them choose new tools when they must.
I have helped develop web applications that use AJAX, and I love the technology. But it’s only a good solution in a few situations; the way the web preaches about it you’d think it was the solution to everything.
July 29th, 2007 at 9:04 pm
While AJAX is likely too limited for their needs, the failure isn’t really in AJAX. It’s in the people who decided to use AJAX. I would argue the same for .NET and SQL Server. Because the programmers who chose the technologies didn’t choose well for their problem doesn’t mean that those technologies couldn’t be made to create a good solution, even in that problem space if the technologies chosen were correctly applied.
July 30th, 2007 at 4:11 am
Dr.Dichotomous: Re wrong tool, suboptimal results.
Agreed. I wish the post had made that more clear. The lessons learned seemed, to me, to blame the tool rather than the developer. Without knowing the full picture, it’s hard to make a judgment about how the requirements were gathered or the time/budget constrains the developers were under. But in general, if you have a problem with an application not meeting the users needs, the problem lies with the developer.
August 5th, 2007 at 1:49 pm
[…] accusations of bias when the flaws of a particular technology are pointed out. This is something I wrote about fairly recently, after I was accused of having a “bias” against Windows and .NET […]