The Microsoft Universe

6:36 PM Xun 1 Comments

In his latest post Why Ruby? in Coding Horror, Jeff AtWood announced that he no longer lives in the Microsoft universe, as proof, his presented his new project Discourse that is entirely without a trace of .NET.

Left the oppressive shackles of my Microsoft masters behind. Free at last, free at least, thank God almighty I'm free at last! Jeff Atwood echoed the sentiment he expressed sometime ago.

For a guy who resides at the top of developer echelon, who created StackOverFlow (that had saved the developer mass, me included, countless hours), who authors the most respected and wildly-read blog Coding Horror, he deserves a universe entirely of his own, his choosing.

Sadly or gladly for us .NET developers, we still inhabits in this Microsoft Universe, from a long long time ago when IE6 was the king of browsers, and will still in the foreseeable future when all the cool kids will only role their eyes at the mention of anything Microsoft.

Yes, we are hopelessly brain-washed by Microsoft, its PCs, its office suites, its browsers, and most of all, its technologies.

Does anyone still remember Visual Basic for windows forms, or VBA, a flavor of Visual Basic, or VBScript the scripting language that were pretty widely used in ASP pages? Or ASP (short for Active Server pages), the once dominant server side language for generating web pages dynamically?

Then of course, suddenly it was nothing but .NET this and .NET that. The name at first sounded as bizarre as before iPad was unveiled, and caught fire in the tech world as fast as that iPad was embraced by the general public. And of course, all of us Microsoft devotees are transformed into visual studio users (despite or because of the hefty price tag).

I still remember the frenzy .net 1.0 caused and the cold sweat I had when I struggled to learn asp .net 1.0. As with typical Microsoft marketing (or marketing in general), the .net framework is filled with emerald gold with once impenetrable acronyms (CLR - common language runtime, CTS - Common Type System, BCL - Base Class Library), and is everything you need for complete success. Quoting from .NET official site:

the .NET Framework provides a comprehensive and consistent programming model for building applications that have visually stunning user experiences and seamless and secure communication.

Microsoft released .NET 1.0 and visual .net in 2002, and to this day, .NET framework and visual studio has gone through 7 major releases.

(From .NET Framework wikipedia)

Overview of .NET Framework release history
GenerationRelease dateNotesDevelopment toolDistributed with
1.02002-02original versionVisual Studio .NETN/A
1.12003-04first updateVisual Studio .NET 2003Windows Server 2003
2.02005-11rewrite of frameworkVisual Studio 2005Windows Server 2003 R2
3.02006-11WCF,WPF,WFExpression BlendWindows Vista, Windows Server 2008
3.52007-11LINQVisual Studio 2008Windows 7, Windows Server 2008 R2
4.02010-04parallel extensionsVisual Studio 2010N/A
4.52012-08asynchronous programming modelVisual Studio 2012Windows 8, Windows Server 2012

The 2002 ASP .NET web form release was a major shift from previous scripting languages, and it caused huge confusion among hapless little developers like me who tried plugged in code into the life cycle of an aspx page at the right moment. PreInit, init, preload, load, prerender, render ... I sincerely believed then I was too brain damaged to get it.

Now with the decline (possibly quick collapse) of PC era and all cool things about mobile, shall I say, .NET is desperately trying to catch up and accommodate?

One telling example is that the latest release of .NET 4 has not only the major .net languages C# .NET, VB.NET, F#.NET, it also includes a Dynamic Language Runtime (DLR) to allow languages like IronRuby and IronPython to run on top of .NET framework. This kind of adaptation can be seen elsewhere, visual studio has long included jQuery support, and it recently also started support GIT.


With the push of MVC since .net 3.5, Microsoft is now open about the sin of the original .net web form. It was cumbersome, it violated the fundamental development principal of separating presentation and data and a loosely coupled system.


Only if I knew or had a choice then.

Too late!

1 comment:

  1. The moment I finished this post, I found this article on the end of visual basic, or why it is ended by Microsoft.

    Classic Visual Basic’s end marked a key change in software development: