I had the pleasure of attending Harry Piersons TechTalk at Microsoft Development Center Copenhagen (MDCC) on IronPython.
IronPython is a new member of the .NET family, based on the programming language Python. The Iron part has become known as It-Runs-On-.NET.
IronPython is a dynamic programming language (as Perl, PHP, Ruby and JavaScript - Although Perl and PHP never truly was Object oriented at heart, but they are moving in that direction now), which means that execution happens at runtime and not at compiletime. Dynamic languages make it easy to quickly manipulate data, which often is collected from networks, user interfaces and devices, and are extremely powerful when it comes to manipulating meta-data, whereas static languages (eg. C#, C++, and Java) often prove its strengths in creating complex data structures and algorithms and so on. It’s said that Dynamic languages focus on the code, rather than the structure or “architecture”.
With IronPython in the .NET family the developers now have a perfect opportunity to combine the forces of static languages as C# with a dynamic language namely IronPython.
In Harry Piersons own words “Dynamic languages are easier to learn and therefore teach”. And then he gave a small example where he compared a “Hello World” program from C# with the same in IronPython:
// C# version of "Hello World"
class Program
{
static void Main()
{
System.Console.WriteLine("Hello, World");
}
}
// IronPython version of "Hello World"
print "Hello, World"
Now wait a second! What about C# 4.0?
C# version 4.0 now comes with a new keyword called “dynamic” which can be used to dynamically invoke methods, but I’ll let it be up to the reader to dig in deeper with the new version of C# coming out.
Is IronPython opensource?
YES it is! Microsoft has two licenses that have been approved by the Open Source Initiative(OSI), which means that developers can be confident that the licenses meet the terms of the Open Source Definition. And yes, the IronPython team is taking in contributions from the community, and for that – Microsoft I salute you. Thank you for showing initiative to promote things via opensource.
The roadmap for the IronPython project is, that in December 2008 it was shipped in version 2.0, and Microsoft hopes to release version 2.6 (Microsoft has decided to end confusions, and name the versions after Python release conventions ) in the near future. They are also planning to release IronPython for .NET version 4.0, (with release shortly after version 4.0), which will work with C# Dynamics and be compatible with Python version 2.6 and 3.1. The intention is not to have a release cycle like the one on Visual Studio, but rather have it be a plug-in for Visual Studio, so that the IronPython team can maintain a release cycle of ca. 10 months.
For more resources:
Just an update! You can view the video, and download the slides from the Tech Talk on Channel 9