Domain: ironpython.com
Stories and comments across the archive that link to ironpython.com.
Comments · 32
-
Re:Why switch?
The notion of a common runtime that supports different languages is bogus.
What do you call x86? Or a modern OS?
The difference is, things like Silverlight are designed to be more portable. Or at least, are designed with technologies which should make them more portable -- I'm not at all sure Microsoft intends to do that.
They are all
.Net languages...IronPython, IronRuby, Windows PowerShell, JScript...
Another approach is to implement a language on top of
.Net, like IronPython, but that's not the same thing.Erm, WTF?
By that measure, C# is also "a language on top of
.Net" -- the fact that IronPython isn't included in that ginormous download off Windows Update doesn't make it any less of a .Net language.Or would you care to tell me in what way it is "not the same thing"?
-
Re:Ohhhhh Sources
how can an open source project be acquired?
Easily. You can acquire my open source project, Stylus Toolbox. Pay me USD $5,000, and I will transfer the copyright to you. All of the code is contributed by me, so no copyright issues. Then, you can take and release under whatever license you want, provided you remove the dependency on GladeWindow.py, which is GPL and not written by me. All other dependencies are either LGPL or Python license, or are dependencies on applications that are called, not linked, so no problems there.If the license was OSI before couldn't the project just continue?
Sure. Just like someone could fork Stylus Toolbox from the last GPL release.From the wikipedia entry it looks like the project leader decided that the MS shared source license was going to be used.
Actually, it was under CPL, which you can see from the old site. It is perhaps a bit of a misnomer to say that Microsoft 'acquired' it -- the author was hired by Microsoft and he transfered copyright to them when he hired in. -
Re:Python is SLOW
...and it need not be said.
Between Pyrex and Psyco, there's really very, very few applications that a language like Python isn't appropriate for. Premature optimization is the far more common programmer sin these days than choosing a language that's "too slow." Except for a few, specific application domains (that only a minority of coders are writing) dynamic languages like python are an excellent choice on today's hardware. And if you need it to be faster, just profile, find the couple of spots that matter, and pull out Pyrex.. or even the C/Python API if it makes you feel manlier.
:-)Plus, with things like PyPy + LLVM, Parrot, and IronPython emerging, things are only going to get better.. don't be the last one on the dynamic boat!
-
Re:Mono?
I gotta side step a bit and say that I was not talking about java - I was really talking about Mono. I think Mono is important because it would allow traditional Microsoft developers to substitute Linux for Windows at some future date and experience no discomfort developilarily wise. When I get off my butt and write some python code I'm thinking of having Python that calls the
.net framework e.g. Iron Python. The overall speed increase of about 1.7x faster execution of a program compared against the official Python interpreter shows the well thought out and true engineering of the product - the .net virtual machine is very well built. As Mono progress' along with Microsoft's VM having the advantage of being able to easily switch your entire OS stack with little or no downtime of your code is a tactical plus. -
Re:It's Too Hard!!!
Well, no. Technically, IronPython is our answer to Python
;-) And I think you also reinforce a point I make shortly after the quote. VB 2005 is too hard for your average 14 year old to pick up because you have to learn about OOP, a ton of syntax, and all this other junk.The advantage that something like VS has over most command line tools is that it provides more "instant gratification" than many of them can. It'll show them a cool looking GUI instead of a line of text in their shell.
This is part of the reason why I think that KPL is so cool: it provides a great deal of effective motivation to people within that audience (by specifically enabling them to easily create games).
-
Re:Yes. Just to be different.
the pundits launch into tirades about how VB.Net is a toy compared to C# (which are both the same CLR language), Java, Ruby, PHP, Perl, and some whack job will likely even recommend Python.
The reason why it's called the CLR is because it's Common to multiple Languages that Run on it. It does not mean that the things that run on it are the same language. If it did, then VB.NET, C# and the Python that you despise would be "the same CLR language", seeing as Python runs on the CLR as well.
VB.Net by default has explicit and strict options off, turning those two options on makes its compiler just as strict as the C# compiler.
That's a nonsensical thing to say. They are different languages, you can't have a compiler that is "just as strict" as a compiler for a different language, unless you define "strict" in some way that doesn't involve the language - i.e. nonsensical.
The only substantial differences from VB.Net to C# is syntax
Perhaps you've never been around somebody trying to get into programming. I've been surrounded by newbies at school, college, university and I've taught people at work. Syntax is a big deal to newbies.
C#:
If Var1 == Var2You don't know the first thing about C#. Anybody who's spent more than five minutes with it knows that you need to surround the expression that goes with the if statement with parentheses like this:
If (Var1 == Var2)
Clearly you've never touched C# in your life if you get such basic things wrong.
-1, Troll, people. Everybody who modded this up to +5, Insightful should be embarrassed.
-
Re:Summary
It *is* perfectly doable.
http://www.ironpython.com/
Disclaimer: I've never actually tried it, yadda yadda. -
Re:Summary
http://www.ironpython.com/
Looks like it is already being done :) -
Re:Java.
I dont think Python belongs to the category of C* languages. Check out IronPython (http://www.ironpython.com/). I believe python is a good language to start programming compared to Java or C#. since your University may not have that in the syllabus, it may be a good idea to choose C#, unless you are paranoid of locking into Microsoft technologies.
-
Re:His name is Guido?
It would be pretty logical that google would like to control something that is comparable to sun and microsoft's bigtime server languages. Python has moderately fast bytecode (google stuff could improve a lot here) and it's got a decent oop model and a threading api. i/o is also usable. i think zope fans can hype their favourite thing in the responding posts too.
Microsoft hasn't been asleep either when it comes to Python. They hired the original guy who worked on the Iron Python project http://www.ironpython.com/ which brought Python to .NET.
The latest updates on the Iron Python is right here
http://www.gotdotnet.com/workspaces/workspace.aspx ?id=ad7acff7-ab1e-4bcb-99c0-57ac5a3a9742 -
Re:python beats the crap out of .NET
as a RAD it blows away even the best that
.NET has to offer.
It is RAD and is a very cool language, however, one thing that Python does not have going for it is its execution speed. It's fine for small stuff, scripts and little apps, but anything larger and you're lost in a sea of interpreted code.
FYI, you can still code for Python and compile to .NET. Why? Native Windows UI widgets (Windows Forms), an extensible, powerful application framework, and SPEED! Python compiled to run on the .NET platform runs faster than Python 2.3. See http://ironpython.com/ And yes, it is cross-platform, IronPython is runnable on Mono.
Also, Microsoft made an interesting move recently: it hired the creator of IronPython and is now actively developing Python which runs on .NET and Mono. In fact, you can go to MSDN and download it right now.
Anyways, Python is a cool language. I'm helping out with a Python-derivative language called Boo, check it out here. -
Re:.net gripes
...but where's my perl, python and ruby dot net (and I don't mean editor support)?
Right under your nose, if you bother to look:
http://aspn.activestate.com/ASPN/NET Perl and (experimental)Python
http://www.saltypickle.com/rubydotnet/Ruby/.NET compatability
http://www.zope.org/Members/Brian/PythonNetPython
http://www.ironpython.com/Python, again.... -
Re:"blessing" doesn't matter
It's interesting to note that there are several re-implementation of Python, at various levels of maturity (Jython,stackless Python,PyPy, and IronPython)
-
Re:Python is killing C#, not JavaOne great way to use Python while still being able to easily interoperate with
.NET programs and take advantage of the CLR's base class libraries is IronPython, an open-source implementation of Python for the CLI (it works with both Microsoft .NET and Mono).
It actually turns out to have suprisingly good performance compared to regular Pyhton implementations (see this presentation from PyCon 2004).
The latest version (released a few days ago) isn't yet linked to from the IronPython website, but can be obtained here.
DISCLAIMER: I'm not affiliated with the IronPython project, and I haven't yet had the opportunity to make any extensive use of it, but what I've seen so far looks really promising.
-
Iron Python
While I see what you are saying, actually might as well work with Python anyway. Iron Python is a python implementation for
.NET. Right now it is at a fairly early stage, but work on it is moving forward. -
Re:Anyone Have Actual Experience With Mono?
Visual Basic and Java and Python and Oberon and Object Pascal and Boo and Nemerle and Component Pascal and Forth and Lisp and Smalltalk and Logo and Tachy.
Some of the packages are still in the larval stages, but they're out there, and more are on the horizon. -
Re:C# vs Python
Go with python, you'll never look back. Really. Even of you want to target the
.Net CLR at some point, there is IronPython http://ironpython.com/ - it's author was recently hired by MS to create Python for the .Net CLR. -
Re:Hey, is there any one going to make me a PERL C
If it supports CLR, it supports python via the IronPython project. If that works there's no reason you couldn't do the same for perl.
-
Re:why?
First link 404ed. I think that you meant to type this instead.
-
Re:I want functions
If you like the
.NET API but don't want to have to use objects for everything you could try IronPython. -
Re:Objective-C
As a footnote, I know the Mono guys have done a Cocoa# bindings for the PowerPC.
Sidenote #2, IronPython, which runs on Mono, has been shown to perform better (on average, 1.7x better) under most performance tests than standard Python v2.3. (this is not a troll or flame-incitation, just a FYI). See IronPython.com, or this paper from PyCon 2004. -
Re:Python vs Java
We don't need to wait for an enterprise-level app framework for Python, we've got one: Mono (or
.NET for you suit types). With Iron Python on Mono, you have a fully-featured industry standard framework library (this should please those buzzword bingo types), and an implementation of Python that's even faster than the standard CPython implementation. Even Microsoft has taken note, they've hired Jim Hugunin, the developer of IronPython, giving him a spot on the CLR team. This is going to be big (IMHO). -
Re:Driving users to windows, where the tools are b
You can't win with either java or mono(c#).. Maybe its time ffor python/perl/php/ruby.....
Well, with IronPython mono is Python. Alternatively, you can always use Jython and have Python being Java. The real benefit here is this: There's no need for constant updates to the pyGTK and pyGNOME libraries every time GTK of GNOME changes if you're using IronPython, because IronPython automatically gets the latest GTK# stack through mono - your bindings are always automatically up to date.
Of course, you can always go with Parrot if you want the completely new and different open source implementation of the concept. Parrot will run both Perl and Python happily, not sure about PHP and Ruby, but I imagine someting is in the works, and while it is a lot less complete than the others, it promises to do a lot more, and potentially do it notably faster than either Java or Mono/.NET
Plenty of options, and they all make some sense. Time to let OpenSource Darwinian practices see who survives in the long run - there are more baskets for these eggs, so there's no reason to panic.
Jedidiah -
Python
-
Re:Miguel has told you why
Python, which also bears little resemblance to C#, also appears to run very nicely on
.NET and pretty well on Mono. http://ironpython.com/. While they aren't all open source, there are also many other languages with compilers directed at the CLI: http://www.gotdotnet.com/team/lang/.
Finally, there seems to be no reason to suppose that Java is somehow more flexible than .NET because Java can be run on Mono via the IKVM project http://www.ikvm.net/.
I'm not advocating the use of Mono (and I'm certainly not advocating the use of Windows), but arguments against it should be technically correct.
Kluge -
Parrot speed
Parrot is supposed to be 20 times faster than Python when it is complete, while IronPython will only be roughly the same speed as CPython 2.3.
-
IronPython released as GPL
might be time to try IronPython (~1.7 times faster than standard Py2.3). Here's some performance benchmarks comparing cpython to ironpython for those interested in the numbers. interestingly, IronPythons creator Jim Hugunin designed Jython.
Thanks for prompting me to look as Jim just completed a talk at OSCON, 28 ~ IronPython: A fast Python implementation for
.NET and Mono and has released the source. -
IronPython released as GPL
might be time to try IronPython (~1.7 times faster than standard Py2.3). Here's some performance benchmarks comparing cpython to ironpython for those interested in the numbers. interestingly, IronPythons creator Jim Hugunin designed Jython.
Thanks for prompting me to look as Jim just completed a talk at OSCON, 28 ~ IronPython: A fast Python implementation for
.NET and Mono and has released the source. -
IronPython released as GPL
might be time to try IronPython (~1.7 times faster than standard Py2.3). Here's some performance benchmarks comparing cpython to ironpython for those interested in the numbers. interestingly, IronPythons creator Jim Hugunin designed Jython.
Thanks for prompting me to look as Jim just completed a talk at OSCON, 28 ~ IronPython: A fast Python implementation for
.NET and Mono and has released the source. -
Re:How important is this for Linux?
And to add the
.NET part back in, IronPython (at least, once it actually becomes available...) -
Re:ah, the joys of playing catch-up
First, Mono already supports a lot of the stuff coming in Whidbey (generics for example).
Second, even if Microsoft killed their .NET effort tomorrow it wouldn't change the fact that we now have a kick-ass development platform for Linux. Everybody needs to take a look at the two software stacks of Mono.
Wether Mono has feature parity with MS .NET is not the most important thing, neither is supporting Windows.Forms. Mono is good enough to stand on its own, as the next generation Linux development platform. Interoperability with Windows is just sugar on the top. Where do you see the Linux desktop being five years from now? I truly hope we're not still at the time writing our applications in C, as we do for the GNOME desktop now. Unless Sun steps up to the plate to release their JVM under a open soruce license, Mono is pretty much our only hope to modernize our development environment in any reasonable timeframe.
Of course, some will say we've already got Python, or Ruby or whatever. But I say I want to program Python in Mono. -
Re:hoist by their own petard
There are languages that come with their own, specialised runtime with distinct advantages. Highly dynamic languages like Smalltalk or Ruby come to mind
The CLR does a pretty good job with dynamic languages, despite what the poor results from the programmers at ActiveState have said after their halfhearted attempts to get Perl running under it. IronPython (A Python compiler and runtime for .NET) is turning out to be faster than the original C Python implementation.
MSIL is just as suited to running a dynamic language as regular assembly is.
as well as languages like Ada or SPARK, where the compiler does all the checks and correctness proofs, so it's perfectly valid to compile everything down to low-level, unchecked machine code in the end
That's what the Microsoft.NET CLR does. MSIL was intended from the start to be able to JIT as efficiently as possible, so it was designed to be type-checked and provably safe, so the JIT can output optimal native code -- in most cases, it'll emit exactly the same code that a native C compiler would have output for the same routine. Microsoft's implementation never interprets the MSIL bytecode for execution. The Mono implementation only does if you use the debugging "mint" tool, or if you're unfortunate enough to be running on a platform they haven't created a JIT for yet.
This is a striking contrast to Java, whose bytecode was JITted only as an afterthought. The CLR can run Java code, but it can't optimize it that well due to the unavoidable overhead that the Java design enforces.
Using the CLR as the common base for everything would cost an order of magnitude of performance
You seriously owe it to yourself to look into C# if you think it's "an order of magnitude" slower than native code. You'll be very pleasantly surprised by its high performance. You might even have a hard time telling it apart from native code (Windows.Forms notwithstanding).