IronPython-0.6 For .NET/Mono Debuts
Sunspire writes "IronPython, a Python implementation for the .NET and Mono platforms, has just released its latest version, IronPython-0.6. Touted features include speed, with IronPython being supposedly faster than the native C version of Python, and CLR integration giving full access to the .NET and Mono libraries while still being fully dynamic like regular Python. Is Python, Mono and GTK# the new killer combo for rapid Linux desktop application development?" We previously covered IronPython back in May.
Mediocrity and complexity, together at last! Now available in family size!
This post will be modded down in 5.. 4.. 3..
"Is Python, Mono and GTK# the new killer combo for rapid Linux desktop application development?"
In a word, NO!
Personally I'm not crazy about Python. And then you add this .net thing into the picture, I'm especially not crazy about that.
.net written by a Microsoft employee?
But then, to top everything else off, you add a version of python for
Does anybody know if you can access your Python classes from .NET?
This guy is actually working for Microsoft and its being released under the Common Public License. See MS isn't always the evil empire.
Also, Novell throwing their weight behind GTK# gives me confidence that we'll still be receiving updated versions of it a few years from now, which is important when you're trying to sell your PHB on the idea to base your next project on the bindings.
Here's a quick "Hello world" program in IronPython and GTK#, tested with Mono 1.0. It certainly looks slick. Note the neat way of attaching the function callback to the button's clicked signal, when you're coming from the C version of GTK you really appreciate small things like that:
As I been dragged almost kicking and screaming into more Python, via a Zope project I'm working on, I find this very interesting. I've been fascinated with the potential of the .Net platform for a while now, particularly because of its ability to support a wide range of languages via the CLR. Now with Mono coming along IronPython, I've got some new things to play with!
I just hope that Jim's new job at Microsoft won't bring the project to halt.
To the making of books there is no end, so let's get started
This might be faster than C Python, but it is still slow compared to other dotNet apps. For many applications and purposes this doesn't matter, but it does imply that the CLR really isn't very good for dynamic languages.
Actually, the CLR could be great for dynamic languages, but it would require adding some new instructions, and MS isn't willing to do this so long as dynamic languages are not important to them.
For Mono, and the Linux community, however, dynamic languages are very important, so Mono should add the necessary support to make these languages work better. This could be done without affecting Mono's ability to run MS dotNet apps.
And anyway, Mono won't really be compatible with all the MS API's unless they license technology from MS, so we need to accept that Mono could be a great development environment for the OSS community, but its not going to run all your MS apps for free. BTW, I'm not referring to the present, I'm referring to the day when MS decides it's time to enforce their patents for ASP and Forms.
Perhaps I am nitpicking but the name IronPython gives me the false impression of enabling Python to run on bare metal. The name would be much better suited for a Python system that compiled down to native code, sigh.
I have been kicking around some Python system implementations. Basically, people like to compare Python to Lisp and there are some decent (better than the "native C Python implementation") Lisp systems out there. Connect the dots.
Peace out.
Real men dump cores! Read my journal, I am neat.
How is the parrot implementation of Python coming? How do people see the pros and cons of the two VMs? Are we going to have three different implementations of Python running around (C, .Net, and parrot)?
Find free books.
Yes, I've even heard MS employees complain about this. Unlike Java, C# has operator overloading, which lets you do lots of useful things, but also lets you go overboard, as in this case. Though this is Python, it's using an overloaded "+=" operator to an event handler to an event, the same way that C# does it.
.Net/Mono languages is a nice improvement over Java's interface-based event handling.
I certainly think
button.Clicked.AddHandler(hello_world)
would be clearer, but the use of delegates in
"Those who have never entered upon scientific pursuits know not a tithe of the poetry by which they are surrounded."
Thought it could be of interest of slashdotters: there's a language called Boo being developed for the CLI. It looks pretty sweet to me: very similar syntax, with the addition of a smart static typing system among other features.