Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Future and stability of IronPython

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.

like image 824
jsalonen Avatar asked Oct 07 '10 12:10

jsalonen


People also ask

Is IronPython still supported?

IronPython is no longer being supported. You can still use it in VS 2019, but starting with the next major release of VS, it will no longer be available.

What is the use of IronPython?

IronPython works as an extension to the . NET Framework, but it can also be used by . NET projects to take advantage of Python's scripting power. Other than that, since IronPython is a real implementation of Python itself, there's no need to learn a new language or extra features if you already know Python.

Is IronPython the same as Python?

IronPython is an open source implementation of Python for the . NET CLR and Mono, originally created by Jim Hugunin. IronPython uses the Dynamic Language Runtime, a framework for writing dynamic languages for . NET which originated in IronPython 1.

Does IronPython support .NET core?

net core is still in progress. Update: with IronPython 2.7. 10, the IronPython-Team added support for . NET Core 3.1.


1 Answers

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.

like image 58
Rafe Kettler Avatar answered Sep 22 '22 13:09

Rafe Kettler