Thursday, January 24, 2008

Why dot Net?

Someone asked me a while ago "what is dot net"? Typically I would just say "dot net is Microsoft's answer to Java", so I did. But it really got me thinking. Why did Microsoft go through all the time and effort to create this entirely new development framework? Well it probably got started with their custom Java JVM stuff back in the nineties. Sun said "you can't call that Java", so they called it c#. But why continue to pursue it? Sure, the MFC was old and ugly. But why not create a new native API? The big advantage of Java is its portability. It takes a performance hit to achieve that portability. So why would Microsoft opt for an interpretive environment but leave out the portability part? Maybe they didn't. There are a couple of possibilities here.

1) Microsoft intends to make an entirely new OS, like Apple did with OS X. And dot net is their compatability layer. When they deploy their new OS it will come with a dot net framework (as most OSes have Java frameworks now). This will ensure a large base of existing apps at launch time.

2) Microsoft intends to support other OSes. They could release dot net frameworks for Mac and Linux and add a whole new customer base.

Option 2 seems a lot less likely, since Microsoft has never liked playing nice with others. But I think option 1 has merit. I think Microsoft has found themselves in an unfamiliar position .. They are starting to see real competition. Apple is providing competition from a traditional business model and Linux is providing a very different kind of competition. I think it's Linux that Microsoft is scared of. Their typical model of sue-first doesn't work as well with open source software. Either way, I think Microsoft will actually have to innovate to maintain their dominant status. The Windows platform is hopelessly broken. And Microsoft's insistance on maintaining legacy compatibility has played a large part in that. I am anxious to see what someone with that much money and smarts can do when they turn their attention towards coding instead of litigation.

No comments: