Linked by Thom Holwerda on Sun 25th Sep 2005 12:05 UTC, submitted by Luis Gonzalez
General Development Shed Skin is an experimental Python-to-C++ compiler. It can convert many Python programs into optimized C++ code, without any user intervention such as adding type declarations. Its main purpose is to optimize algorithmic-like Python code, by applying advanced global type inference techniques.
Thread beginning with comment 36070
To view parent comment, click here.
To read all comments associated with this story, please click here.

Member since:

The idea of >>one VM for all<< as I called it is enticing for lots of people. Mono went for it and it might not be that bad for them since there are a few languages being used on it, but still mostly only MS languages and then still only mostly C#. On Mono you will see the same thing C# is the dominant language there. But of course you CAN run other languages on .NET and Mono. Same thing goes for Java, you have scheme for it, python for it, ruby for it and groovy and what not. I think all of them are damn good alternatives to Java and I know at least ruby and python additionally to java so I could go all out and program in ruby or python on Java. But I donít. Other programs for the JVM are, hold your seats, programmed in Java. As a fact the JavaVM is shockingly almost purely used by programs made in Java.

And there you have it. An one for all VM will be ruled by its dominant language and so lots of the supposed benefits just donít exist. Why is this so? Well for one Jython != Python. I would have to port any program from Python to Jython do to stuff like API soandso not being implemented or being implemented different, my program making assumptions that are true under Python but not under Jython and last but not least, different GUI toolkits. As a >>one for all VM<< Java has failed but thatís not so bad since it never really was intended for that no mater how many other languages target the JavaVM. .NET and Mono have a different problem; the VM expects languages to fallow certain rules of the VM. This pisses lots of people of since their language of choice will need adapting to the VM and some of the APIs go byby since you are now coding .NET. So .NET and Mono fail because the languages need to adapt to the VM and programmers arenít to happy about their languages loosing their individual flavor to the degree that .NET requires.

But fortunately Parrot is different; it tries to provide an environment where the VM has everything that Perl5, Perl6, TCL, Scheme, Basic, Ruby and Python could possible need. Yes it is truly the >>one VM for all<< just that Ruby is doing their own VM and donít give a shit. Python is more interested stuff like PyPy and nobody cares much about TCL or Basic anymore. Well altheas Perl5 can interact with Perl6 and new programming languages like Amber right?

Multi language VMs are hyped up a lot thanks mostly to .NET, but they donít deliver what they promise. And with Parrot it lead to a VM that is more complicated then it needs be to accommodate other languages that are just not interested in running on Parrot.

But this is about Python not Parrot or .NET.

Reply Parent Score: 0