To steal enterprise programmers, Microsoft embraces Python and you
It would appear Python has gained a very proud position inside Microsoft with the release of IronPython 1.0 Beta 1. Long the darling of developers on the UNIX platform and admired by CS folks all over, some may wonder why Microsoft has taken the task from ActiveState (Visual Python was discontinued) to integrate Python in to the .Net CLR. You might also wonder why Microsoft recently released a free version of Visual Studio to compete directly with Sun Microsystem’s excellent (though JSF tied) Studio Creator as well as the Eclipse and NetBeans frameworks. Add to this the recent work Microsoft is doing with JBoss, and you could be left scratching your head.
The answer: they want you. You, the enterprise Java / Linux / Python / Apache developer. This is not a problem with .Net, which has begun to grow rapidly over the last two years, but more the attractiveness of .Net to software developers. Microsoft sees that the majority of interesting work being done on solving the latest integration and development problems with services are occurring on the open source landscape. Instead of trying to sell the entire .Net stack to software developers, they are now finally reaching out for the leverage that the CLR gave them from the beginning but were hesitant to embrace. After all, Microsoft originally left it up to the open source community to integrate their language in to CLR bytecode, the same thing that Sun is doing with Jython and other interesting projects (although JavaScript will appear soon as a JCP blessed scripting language integrated with the JRE). The reason for this is simple, both companies that have a Runtime know that the money and influence is in the language, not the runtime, and any other language that integrates with their Runtime environment may dilute their own (controlled & licensable) language environment.
This is what makes Microsoft’s release of IronPython so interesting. It is the first time they have integrated a language in to the CLR that they did not control (Yes, there was J#, but was that really Java?) and there is a promise of more of this in the future. If Microsoft truly begins integrating all the great open source scripting languages in to the CLR itself, it may be the one thing that begins to turn the tide on mind-share in the enterprise space. The true war would begin if Microsoft would stop making .Net just a wrapper around Win32 APIs and release a version that can run on any (at least current) architecture and operating system. That would release an incredible level of competition that could only help all of us as software developers writing to a modern execution environment. It may also give Microsoft developers a new appreciation for Sun regarding the punching bag known as Swing after they find how difficult it is to pop-up a WinForm in Mac OSX or GTK+.
With the latest announcements coming out of Microsoft lately, that idea doesn’t seem as far fetched as it did a year ago. Microsoft may have “gotten it” about the development community’s creative side, and win many more converts in the years to come.
