At PyCon (a conference for Python developers) last week, Microsoft made an announcement regarding the project code named IronPython. Python is an open source dynamic language – for non-developers like me – dynamic languages enable developers to produce applications more efficiently by reducing the amount of complexity in the code they write by relying heavily on the capabilities of underlying runtime. Traditionally, the trade-off has been related to performance but as both the languages and runtime technologies mature these issues are being addressed. Microsoft’s IronPython project demonstrates the benefits of putting the Python dynamic language on the .NET Common Language Runtime.
Jim Hugunin, a Software Design Engineer on the Common Language Runtime (CLR) team and the creator of IronPython has released IronPython 0.7 under a Shared Source license.
Here are the benefits of IronPython as given to me by Jim.
- Integrated with the .NET Framework – IronPython code can easily use .NET libraries also, Python classes can extend .NET classes.
- Fully dynamic – IronPython supports an interactive interpreter and transparent on-the-fly compilation of source files just like standard Python.
- Fast – IronPython 0.7 is up to 1.8x faster than Python-2.4 on the standard pystone benchmark. The key to IronPython’s performance is that it compiles Python code to .NET Intermediary Language which is then translated to optimized machine code by the runtime.
- Managed and verifiable – IronPython generates verifiable assemblies with no dependencies on native libraries that can run in environments which require verifiable managed code.
The license we are using for this release is based on the BSD model of licensing. We worked hard to keep this license short and straight-forward. Like all BSD derivative licenses, this one gives the right to modify and redistribute the code commercially. There are no mandatory reciprocal terms – it is a permissive license.
Now that the project has been released in the 0.7 form, Jim is talking about significantly stepping up the pace and engaging deeply with the community. I’m looking forward to watching this project progress.
This posting is provided “AS IS” with no warranties, and confers no rights.