advertisement
Login | Register   
  Include Code  Search Tips
TODAY'S HEADLINES  |   ARTICLE ARCHIVE  |   TIP BANK
Browse DevX
Footnotes
Partners & Affiliates
advertisement
advertisement
advertisement
advertisement
CoDe Magazine
Subscribe to CoDe Magazine
 

Introducing IronPython

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. 


advertisement
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?



© Copyright Component Developer Magazine and EPS Software Corp., 2009
advertisement