IronPython releases first ‘stable’ version

The developers of the IronPython project have released version 1.0 of the Python implementation for the .Net framework. Along with the release of this first “stable” version of the development language, lead developer Jim Hugunin detailed the genesis of the project and his vision for the Common Language Runtime (CLR) used by .Net.

When IronPython development began, it was the only scripting language available for the .Net framework. The other languages, such as C# and Visual Basic, use a compiler to convert the program code into code that can be executed by the CLR. Scripting languages ​​such as IronPython do not require compilation, which allows faster program development by skipping the compile step. In addition, an interpreted scripting language offers opportunities to make optimizations during code execution.

Jim Hugunin began developing IronPython as a prototype Python implementation in .Net. The experiences gained during the development would be used for an article describing deficiencies of the CLR. Indeed, several articles had been published arguing that the CLR was unsuitable for dynamic languages ​​such as Python. Previously, Hugunin had already implemented Python for the Java Runtime Engine, resulting in the Jython project. In the JRE, Jython’s performance was found to be quite good compared to the original version of Python developed in C. He was therefore curious as to how Microsoft had managed to develop the CLR in such a way that the performance was as bad as claimed. However, while developing his prototype, he found that the CLR wasn’t all that bad for dynamic languages ​​and that IronPython even outperformed the original Python. Hugunin is now employed by Microsoft for which he works on the CLR and also helps with the Phalanger project that works on PHP support in the .Net framework. Other .Net scripting languages ​​are now available, including the Python-derived Boo.