views:

102

answers:

1

I am currently looking for a possible way to integrate my C++/C# application with some of my Python scripts. At this point, IronPython seems like the way to go.

However, before proceeding, I would like to ask the following:

  • How stable is IronPython right now? Is it ready for production use? Are there any known major quirks/bugs?
  • What is the future of IronPython? Will it be maintained for bug fixes? Will there be new versions?

I am particularly interested in using IronPython to run a Python web framework such as Django or Web2py. I am very well aware that current Python web frameworks don't play very well with it. Therefore any insights on the future of IronPython's web framework support would be much appreciated as well.

+5  A: 

To answer your second question, yes, IronPython will be developed in the future. Right now, there is a "language change moratorium" on CPython, the main branch of Python (see PEP 3003. The Python folks want CPython, Jython, and other branches of Python development to catch up with CPython, and they've been doing just that. If all goes as planned, by the time the moratorium is over, IronPython and others will be up to speed and will have implementations that follow the syntax and features of Python 3.x. Also, since IronPython is backed by Microsoft and is a key part of their Dynamic Language Runtime (whatever that is), it's unlikely to get cancelled.

Right now, IronPython is making good progress. According to their svn, code is being changed fairly regularly (1 check-in every other day or so). A Python 2.7 compatible implementation is in the works, and the alpha was released July 16 (so IronPython 2.7 can be expected in the near future).

As for the stability of the interpreter, it seems rather stable. I haven't used IronPython extensively, but the 2.6.1 release behaves almost exactly like the CPython 2.6 interpreter, disregarding standard library.

A lot of the extensions for CPython don't work with IronPython. So, if you want to use Django or something like that, it's probably not smart to use IronPython because it isn't really cross-platform, doesn't work with some frameworks, and it performs worse than CPython. The real advantage to IronPython is access to everything that .NET has to offer, including ASP.NET (a web framework) and Silverlight.

If you want to use .NET, IronPython is the best route as far as scripting goes.

Rafe Kettler
This answer is absolutely, completely exhaustive. THANK YOU!
jsalonen
Thanks, I'm flattered.
Rafe Kettler