IronPython is an easy-to-learn yet surprisingly powerful language for .NET development. Find out how it differs from C# and Visual Basic while still leveraging your existing .NET knowledge.
by Harry Pierson
November 17, 2008
ack before version 1.0 of the CLR shipped, Microsoft engaged a variety of commercial and academic organizations to produce languages that ran on .NET; an effort code-named "Project 7." One of those languages was Python for .NET, developed by ActiveState. That worked, but Project 7 discovered that the "speed of the current system is so low as to render the current implementation useless for anything beyond demonstration purposes.1" Furthermore, while they blamed some of the performance problems on "the simple implementation of the Python for .NET compiler", they also claimed that "[s]ome of the blame for this slow performance lies in the domain of .NET internals and Reflection::Emit".
Largely due to ActiveState's experience, it became conventional wisdom that "[t]he CLI is, by design, not friendly to dynamic languages.2" This conclusion caught the attention of Jim Huginin, the original creator of Jython—an implementation of Python for the Java VM. Given that Jython runs reasonably well on the JVM, Jim wondered why the CLR ran Python so poorly. He decided to take a couple of weeks and build a simple implementation of Python on .NET in order to determine what Microsoft had done wrong. His plan was to use the findings to write a short paper titled "Why .NET is a Terrible Platform for Dynamic Languages."
It's quick, easy and you get access to all the articles on DevX.
This registration/login is to allow you to read articles on devx.com. Already a member?
To become a member of DevX.com create your Member Profile by completing the form below. Membership is free!