After a seemingly quiet period of little to no activity concerning IronPython
IronPython 0.7 has been released and is available here. From the IronPython list, by Jim Hugunin himself: “This is the release that I should have made about 2 months after IronPython 0.6 and joining MS”. Elsewhere, Nemerle released a preview before 0.3.0, which is planned in a month or so. It brings a total rewrite of the type inference engine and the parser (which is about half of the compiler).
Is it possible to run programs written in python with ironpython?
Not at the moment, no, and probably never. There’d be no sense in adopting many of the current Python libraries because the .NET Framework have their own equivilents.
That’s unfortunate. The situation is no better than the old problem of different Lisp/Scheme dialects then.
IronPython yields managed code, so there will be certain limitations w.r.t external libraries, which would not yield managed code (C-based modules). The performance is quite amazing, and .net2.0 framework is a pre-requisite. IronPython would be what Groovy would be to Java community. CLR being build with a goal to run multiple languages and IronPython being built at Microsoft(and released on Shared Source Licence) is a good news for enthusiasts of dynamic languages. I hope IronPython1.0 would be released around .net2.0 official release (end of 2005), and some plug-in for IronPython to be available with VS.Net 2005. Mono support should also be considered, since IronPython is trying to leverage the new features of .net2.0 framework, how well would it do with the current release version of Mono is a question (which I will try to check myself, but am skeptical).
> IronPython would be what Groovy would be to Java community
What are you smoking? Of course IronPython is what *Jython* is to Java community.
I notice the license is named Shared Source. Was’nt SS something bad?
The collaborative tools at gotdotnet are seriously shite. I don’t know why they didn’t go with sourceforge like they did with Wix and WTL. The source control system they use is especially bad.
The shared source license looks different to the previous SS licences ( in rotor for example ) in that it enables you to use the code in any commercial or non-commercial setting. Previous SS licences were restricted to academic use.
This is actually confusing (to me at least).
On the ironpython site they link to a license which states:
You may use the Software for any commercial or noncommercial purpose, including distributing derivative works.
However, the FSF states that:
Microsoft’s Shared Source License
This license does not permit commercial distribution, and only allows commercial use under certain circumstances.
And the license they link to says:
You may not use or distribute this Software or any derivative works in any form for commercial purposes.
So the Shared Source license for IronPython is different from the other Microsoft Shared Source license. But to my inexpert eyes it looks as though the IronPython license qualifies as a Free Software license since the only complaint listed by the FSF against the Shared Source license is the restriction on commercial uses, which the IronPython license lifts. Otherwise they seem pretty similar.
So, now “python” will only work on MS Windows, like MS version of java?
no, ironpython already runs under mono (so that makes it portable to a lot of unices)
Can regular Python programs be made to work under .NET framework? Is there a way to make it work instead of rewriting everything using IronPython?
Of course. IronPython is a re-implementation of CPython. I’m not sure about extension libraries written in C but all the standard builtins will be implemented and all regular python code should just work. Thats the intention anyway – this release might not have quite gotten there yet.
Read the 6th clause of the license. This fails the third clause of the Debian Free Software Guidelines and the Open Source Definition, in that it does not grant patent licenses to derived works that are present in the original.
Note that CPython + Psyco blows IronPython out of the water (http://c2.com/cgi/wiki?IronPython), *and* runs existing Python code *now* (with few caveats, e.g. replace map/filter with list comprehensions, which is the GvR-sanctioned way anyway…). Also, it runs on Windows and Linux *now*.
This is as it should be. IP compiles to IL, which is then JITed to x86, etc. Psyco JITs to x86 directly *and* does other clever things (such as specialization).
I do get the impression that, while Jim was clearly attracted to the CLR and Microsoft solely on technical merits, Microsoft’s approach on this one is their standard “embrace and extend”, Java-style….
Ah, the wonderful Open Source Definition. By the “Open Source Definition”, the BSD, MIT and Apache licenses aren’t open source either. Yet they show up very clearly on the list of ‘approved’ licenses. In fact, many of the OSI approved licenses violate the requirements listed in the Open Source Definition.
That mono is still non-free software developed at the whim of MS because there is NO PATENT GRANT?
MS claims patents on parts of the CRL and .net libraries and at any time MS could come down on them and force them to stop development and distribution. So you want to take an open and free language and start developing it on a non-free platform. I can bet MS wants this in order to steal mindshare, but it’s a plant, a ruse, they can kill mono at any time and then take the mono developed apps and run them on the “one true platform”.
Its not like MS hasn’t done this before or has any love for linux.
Not to act like a slashdotter… but mightn’t it be helpful to the ignorant n00bs like me (I’ve only been hacking about 4-5 years) to include a description of what the thing is in the post? From the site for example,
“IronPython is a new Python implementation targeting the .NET and Mono platforms.”
Thanks for your great work on this site btw. I dig OS News.
Hello,
The problem is that Microsoft is using the term “Shared Source” for a family of licenses all different. If they publish source code, its called “Shared Source” and each one has different rules.
This particular “Shared Source” license seems ok from an Open Source position, but it would be good if the OSI group reviewed it and approved it. It is a shame that they mix the names.
miguel.
for what i understand,this release of ironpython is suited
for microsoft only.
in fact if you look at the examples directory you can’t find any
gtk#/mono samples.
I am not a python programmer but,
here is an example run on mono/linux:
import sys
sys.LoadAssemblyByName(“gtk-sharp”)
from Gtk import *
Application.Init ()
win = Window (“test”)
win.ShowAll ()
Application.Run ()
ouch
yes you’re right it’s work
🙂
>>What are you smoking? Of course IronPython is what *Jython* is to Java community
Jython never had the blessing of Sun or JCP. IronPython has blessing of Microsoft, similar to JSR for Groovy. Jython never really made BIG with java community, but expect IronPython to be the splash in .Net world, and atleast the expectations are similar to that of Groovy.
To me, this seems like MS noticing how great python is, and doing their traditional “embrace and extend” thing.
In other words, now they can say — sure, python is great. You can use our new and improve MStm IRON pythontm and get all these wonderful extras (smallprint — which only work on windows so don’t ever expect to migrate your new python app off of windows and on to Linux or BSD).
I do not care if all IronPython programs run instantaneously. I will never use it.
It’s about a dynamic language sitting on top of the CLR and doing things quickly and having access to all things .NET. I think.
> It isn’t about speed. It’s about a dynamic language sitting on top of the CLR and doing things quickly and having access to all things .NET.
Well, if your use case is to use .NET libraries *from* Python, then by all means use “Python for .NET” from Zope guys. It is a bridge from traditional CPython to .NET world — no need to use yet-immature new Python implementation, which IronPython is now.
http://www.zope.org/Members/Brian/PythonNet/
> By the “Open Source Definition”, the BSD, MIT and Apache
> licenses aren’t open source either.
Nice troll. All three licenses clearly do fall under the Open Source Definition (although the old style BSD license with the advertising clause had some issues). Which clause do you think these licenses violate?