When I was still a graduate student at University of Wisconsin-Madison, every one in the ECE and CS department was using Linux and Sun Solaris, and everybody was programming in Perl, C++ and Java. My professors always told us about how secure Unix (Linux) was and were raving about the portability brought about by Java…
Years passed, and only till I started working for a while did I realize that reality is far from what I learned. When you look around, whether at home or at work, you see Microsoft almost engraved everywhere. Do you use a PC? If yes then you are probably using some kind of Windows(R) operating system. Do you write emails? If yes, then likely you are either using Outlook Express or Outlook. Do you write letters or articles? If yes then you are probably using Office… Everyone surfs the Internet and Internet Explorer almost becomes the de facto browser that millions of websites support (Now that Firefox and Safari started to take up market shares, but IE still has roughly 90% of the market share)…
The reason? It is quite simple. A technology can only become popular when the majority of people utilize it and support it. And for that to happen, ease of use becomes the key. When you think about how many brilliant computer science people are out there versus the everyday people… the reasoning is quite clear.
For the average joe, he does not need to learn how to “grep” through file systems using regular expressions to find what he is looking for; he does not need to know or simply does not care what kind of permissions he is under to run his programs (as long as they run fine); he is expecting the files to show up before him when he pops in his CD, and he certainly could care less how and where the CD is “mounted”; And he expect to see what a word document contains by just clicking on it instead of having to vi it and use “ESC Q!” when he decided to discard the changes he made…
Even the average programmers nowadays could not get around without the help of the IDE that they program in. How to build? Well, just go to menu and hit “build”. Does the IDE use a build file or does it use an XML file does not matter. In fact, how many of you are building your projects outside your IDE? The answer is, very few do. As long as the work gets done, very few care about either.
The reason Microsoft becomes what it is today, is not because .Net CLR is revolutionary (Sun has done that with Java almost a decade ago), or because SQL server supports clustering (again, that seems quite natural to the Unix world), or multiple people can use the same computer which each individual’s program running in the background… It is because it knows what it takes to win the majority of the people. Simplicity is the perpetual law.