My friend David Harding, who by his own admission is "married to Microsoft," thinks he might be seeing an early indication that Microsoft's .NET technology is losing ground to Linux, Java, and open source developer tools. Recently, he visited his favorite local tech bookstore and was stunned by the shrinking shelf space devoted to Microsoft's .NET technology.
As I was walking through the store, I stopped by the .NET aisle and noticed something very odd. Whereas the Microsoft book section used to be three rows and packed with new titles on all of the latest technology tools (e.g. C++, Visual Basic, SQL Server, etc.), it was down to one row with room to spare on the shelves. As I perused the available titles, I noticed something else: the majority of the books were not on .NET languages, but on their previous versions (i.e. version 6). At quick glance, it appeared there were at least three books to one of the older languages as compared to their .NET counterparts. In looking through the .NET books I saw that at least 25% of them were being sold as used!
Dave then went to the front desk and asked the attendent to run a search for books on Microsoft technologies C# and ASP.NET:
A few keystrokes later and he turned the monitor towards me as page after page of book titles appeared. The problem was that none of them were in stock. Before I could say anything, he told me that most of these books didn't exist! That's right - the books were never published! He told me that the publishers routinely send them electronic catalogs of books that will be printed so that the buyers can get a jump start on what to order. Because of the downturn in book purchases on Microsoft technologies, they had been receiving notices that many of these books, although finished, had been pulled before they ever reached the presses.
I asked him why he thought the demand had dropped and his response was: "We aren't selling as many Microsoft programming books these days. I think that the number of programmers out there has dropped off. Anyway, Linux and Java are our big sellers now."
Dave attributes the decline in interest for Microsoft developer tools to the general decline in tech employment in the U.S., since Microsoft has always viewed developers as its biggest proponents. But that would not explain why demand for books on Linux and Java is increasing
My theory would be that open source tools are reaching a tipping point. All those unemployed and self-employed software developers are trying to improve their skills by downloading the free open source tools, or are trying out the tools offered on the cheap web hosting sites, which strongly tilt toward open source technologies such as Linux, Apache, MySQL, and JBOSS. Don't believe me? Check out the bundled plans offered by any of the web hosting sites and see how many mentions of .NET there are compared to Linux, Apache, and MySQL. Sure, these tools may not yet offer the same high end features or integration as Microsoft's .NET platform, or Oracle's for that matter. But for many development projects, they are good enough. And it's hard to compete with free.
In a subsequent instant message chat with Dave, I pointed out that I suspect the offshore development trend is also fueling the migration from Microsoft to open source tools. In offshore locations, such as India, China, and Eastern Europe, I believe there is a strong bias toward open source tools, which can be deployed for much less cost than proprietary platforms. The lower hourly rates of offshore developers also negate any advantage that the proprietary tools have in terms of developer productivity.
Whether Dave's theory is correct, or mine--either way, it doesn't look good in the long run for Microsoft's ambitions to win the hearts and minds of developers for .NET. As I pointed out over a year ago
, Microsoft's main argument regarding the cost of Linux and open source technologies is that Microsoft's technologies are less expensive to implement because of the larger base of skilled professionals trained in Microsoft's technologies. I said then that this was at best a temporary advantage. If the population of developers is now trending toward open source technologies that argument starts to look less and less tenable.
Check out Dave's entire article on his blog
, The Tech Cynic.
PeopleSoft CEO compares Microsoft .NET to ... asbestos?
Microsoft-sponsored study on Win2K vs. Linux is NOT all good news for Microsoft
Update, Apr. 6:
My friend Jim Oden offers another reason for the apparent slump in sales of books on Microsoft .NET technology:
There's another possible explanation for why developers aren't buying .NET books. Visual Studio.NET, for example, is not that much different from Visual Studio, (nor is C#.NET, or VB.NET, etc.) to motivate a seasoned developer to buy a book in order to learn it. In fact, most developers don't like to read books anyway on these subjects. They'd rather learn by trial and error. And the documentation available with the .NET product and from the Microsoft web sites is actually more current and robust than what is available from printed versions, which quickly go out of date.
A few months ago, I did purchase several .NET books to get up to speed on the new technology, but this was because I like the structure of following a book, and wanted them for reference.
The company I currently work for, [name withheld], is developing all of their products using the .NET framework. It's hard to know who's really winning the war on development environments, but I can say that so far I'm pretty impressed with .NET ...
So, perhaps the jury is still out.