One of the great features of the .NET framework is the Common Language Infrastructure (CLI). The CLI provides a common foundation for a wide variety of programming languages.
IronPython is a project that implements the dynamic object-oriented Python language on top of the CLI. IronPython is both well integrated with the .NET Framework and is a true implementation of the Python language. .NET integration means that this rich programming framework is available to Python developers and that they can interoperate with other .NET languages and tools. All of Python’s dynamic features like an interactive interpreter, dynamically modifying objects and even metaclasses are available. IronPython also leverages the CLI to achieve good performance, running up to 1.5x faster than the standard C-based Python implementation on the standard Pystone benchmark.
Today we shipped the release candidate for IronPython 1.0 on CodePlex. The download also includes a tutorial which gives .NET programmers a great way to get started with Python and Python programmers a great way to get started with .NET. The interactive interpreter provides an excellent way to quickly experiment with .NET libraries, e.g. here’s a quick example of creating a window (which I recommend you try from the tutorial):
>>> from winforms import *
>>> f = Form()
In addition, it’s exciting to see that the Visual Studio SDK team has used the IronPython project as a chance to show language developers how they can build support for their language into Visual Studio. They have created a sample, with source, that shows some of the basics required for integrating into the IDE including the project system, debugger, interactive console, IntelliSense and even the Windows forms designer. The source for the sample is included with the Visual Studio SDK. More information can be found in Aaron’s blog.