Microsoft has long operated like Reagan’s Evil Empire. I’m sure everybody reading this blog knows the story of MS-DOS, which isn’t all that unlike the story of Manhattan being sold for $32. Mr Gates (who stepped down from the helm years ago, but will remain the symbol of Microsoft’s market dominance for years to come) is an historic philanthropist but also a shrewd business man.
So it’s interesting to watch this turn around. Windows is facing intense pressure from all sides. Google is a media darling and suitor to the thrown, we’ve already seen gmail face off against Exchange Server, plus Word and Excel be surrounded by Google Docs and Spreadsheets, and the more formidable Open Office. Vista has become the new Windows ME. Rumors of a Google OS are frightening Microsoft, Linux looks just like Windows, making the transition from a $200 operating system to a free one all the easier, and Mac’s Boot Camp means all the more choice for the consumer. Choice has traditionally been an enemy of Windows – having computer users by the proverbial throat is one of the main reasons most people use Microsoft software.
Pride notwithstanding, the people at Microsoft would be fools not to recognize the situation they find themselves in. IBM’s example makes the situation all the more relevant. Microsoft has enjoyed a long reign at the top of their game, and it seems to be all downhill from here.
So they’re trying to “change”, to open up. Microsoft has blogs galore – not just ones people can create on a subdomain (a la WordPress or Blogspot) but coming from their brass. Microsoft publishes betas, or as they like to call them CTP community test preview releases. Minimally stripped down versions of their almost flagship Visual Studio are available as free downloads, with free licenses, for anybody who wants one. Are you a C++ programmer, ideally from the *nix world? Come on over, the grass is green on the default XP wallpaper. Set up shop, have a free compiler, and sell your wares.
This is a bright strategy. At present, in the Spring of 2008, Windows honestly is the best platform for general use. This is quickly changing, but the fact is that most of the software available for all systems is for Windows, and more to the point, most of the software a non savvy family or company would want is for Windows. Why else would Microsoft give away much of a product (Visual Studio) that runs anywhere from $50 (old version with no frills) to several thousand? Why else would they use betas, abundant white papers, MSDN? They want people writing Windows software, keeping their operating system afloat. The more people who write exclusively for Windows, the more reason other people have for running Windows.
And all of this brings us full circle back to the title of this post. One of the people on the C# design team has a blog about using C#. This includes how to code samples (MD5 a string, improve hash table perf against structs), explanations on why certain features do and don’t exist in the language, and so on. All C# developers will benefit from reading this blog.