Differences between revisions 24 and 25
Revision 24 as of 2008-10-25 14:16:29
Size: 3050
Editor: 87-194-212-65
Comment:
Revision 25 as of 2008-11-15 13:59:41
Size: 3066
Editor: localhost
Comment: converted to 1.6 markup
Deletions are marked like this. Additions are marked like this.
Line 3: Line 3:
IronPython is [http://hugunin.net/index.html JimHugunin's] implementation of Python on the .NET CLR. IronPython is [[http://hugunin.net/index.html|JimHugunin's]] implementation of Python on the .NET CLR.
Line 5: Line 5:
The project has a [http://www.codeplex.com/Wiki/View.aspx?ProjectName=IronPython workspace] where you can get news and download the latest version. The project has a [[http://www.codeplex.com/Wiki/View.aspx?ProjectName=IronPython|workspace]] where you can get news and download the latest version.
Line 12: Line 12:
Mozilla are working on porting the DLR (well, the underlying Core CLR that it uses in fact) to run on their Tamarin JIT. This should mean that IronPython will also run in future versions of Firefox. (See [http://wiki.mozilla.org/Tamarin:IronMonkey IronMonkey]). Mozilla are working on porting the DLR (well, the underlying Core CLR that it uses in fact) to run on their Tamarin JIT. This should mean that IronPython will also run in future versions of Firefox. (See [[http://wiki.mozilla.org/Tamarin:IronMonkey|IronMonkey]]).
Line 27: Line 27:
A book on IronPython is now available via the Manning Early Access Program: [http://www.ironpythoninaction.com/ IronPython in Action]. A book on IronPython is now available via the Manning Early Access Program: [[http://www.ironpythoninaction.com/|IronPython in Action]].
Line 29: Line 29:
A useful resource for IronPython code examples, is the [http://www.ironpython.info IronPython Cookbook]. A useful resource for IronPython code examples, is the [[http://www.ironpython.info|IronPython Cookbook]].
Line 34: Line 34:
 * BooLanguage - Syntax is very similar to Python's, yet the language is statically compiled. It implements many features that have been suggested for ["Python3.0"]. See [http://boo.codehaus.org/Gotchas+for+Python+Users Gotchas for Python Users] for specific comparisons between boo and CPython.
 * [http://cobra-language.com/ Cobra Language]
 * BooLanguage - Syntax is very similar to Python's, yet the language is statically compiled. It implements many features that have been suggested for [[Python3.0]]. See [[http://boo.codehaus.org/Gotchas+for+Python+Users|Gotchas for Python Users]] for specific comparisons between boo and CPython.
 * [[http://cobra-language.com/|Cobra Language]]
Line 41: Line 41:
[http://www.zope.org/Members/Brian/PythonNet/index_html Python for .NET] is the reverse of IronPython, it lets you access .NET assemblies from CPython. [[http://www.zope.org/Members/Brian/PythonNet/index_html|Python for .NET]] is the reverse of IronPython, it lets you access .NET assemblies from CPython.

IronPython

IronPython is JimHugunin's implementation of Python on the .NET CLR.

The project has a workspace where you can get news and download the latest version.

  • Stable Version is 1.1.2 (targeting Python 2.4)
  • Developers Version is 2.0 RC1 (targeting Python 2.5)

Version 2 (which uses the Dynamic Language Runtime, a framework for writing dynamic languages for .NET which was abstracted out of IronPython 1) is part of Silverlight 2. This means that IronPython can be used for client-side scripting in the browser.

Mozilla are working on porting the DLR (well, the underlying Core CLR that it uses in fact) to run on their Tamarin JIT. This should mean that IronPython will also run in future versions of Firefox. (See IronMonkey).

IronPython is actually a Python compiler. It compiles Python code to in memory assemblies before execution (which can be saved to disk, making binary only distributions possible).

Performance is comparable to CPython - much faster for some things (where it can take advantage of the JIT compiler in the underlying platform), but slower for other things (particularly the built in container types where a lot of work has been done on optimising the CPython types).

Reasons that CPython programmers might be interested in IronPython include:

  • Corporate credibility (introducing new technologies can be very difficult in some companies, if .NET is already established then you may need no excuse to start using IronPython)

  • No GlobalInterpreterLock - IronPython has no GIL and multi-threaded code can use multi core processors

  • The .NET framework library is very big. Particularly the user interface library Windows Forms is very good.

  • IronPython is easy to embed in .NET applications as a scripting language

  • Easier to extend than CPython (C# is memory managed and C# types can be used directly in IronPython with no wrapping)

  • Silverlight!

A book on IronPython is now available via the Manning Early Access Program: IronPython in Action.

A useful resource for IronPython code examples, is the IronPython Cookbook.

Other Python-Like Languages for .NET/Mono

Some other Python-like languages for .NET and Mono include:

Accessing .NET from CPython

Python for .NET is the reverse of IronPython, it lets you access .NET assemblies from CPython.


See also: PythonAndParrot, LoGix, IronPython IDE

IronPython (last edited 2022-09-25 12:38:41 by HuntBlanchat)

Unable to edit the page? See the FrontPage for instructions.