From Openmoko

Jump to: navigation, search

Python gets my vote - HadleyRich 13:49, 20 May 2007 (CEST)

  • Same here. --Sin 19:49, 22 July 2007 (CEST)

It seems to me that it makes sense to choose a Virtual Machine where several languages can coexist happily rather choosing a language. Right now, there are two main competitors the JVM and Mono's implementation of the .Net CLR (more on this later). Parrot looks good on paper but it is not ready yet. The Plan 9/Inferno folks should get mentioned but unfortunately, they get no respect...

From reading the WishList post it seems that Java is a foregone conclusion. This is not a bad thing given its proven track record. With IKVM, it can even support C# and other .Net languages. Sun is invested in JRuby and dynamic languages in general.

The Microsoft folks have lincensed the DLR (Dynamic Language Runtime) with a BSD style license. It has already been ported to Mono (in 16 days!). They have Python, Ruby, JavaScript (EcmaScript 3.0) and Visual Basic working on their VM. Other languages are sure to follow.

As far as size goes, there is a reduced CLR that goes into making MoonLight Mono's implementation of SilverLight. Also, there is now a linker which will only grab what is needed. Basically, if space is an issue, Mono trims down nicely.

Though Mono does not necessarily perform as fast as Java, it manages memory better which might be important on the OpenMoko platform. On the other hand, MonoDevelop (the Mono IDE) and MoonLight are not mature to put it mildly. Since you can run Java apps within the Mono Runtime (using IKVM), one could easily see a day where phones ship with Mono in the future. In fact, I know at least one will!

  • I've recently used mono with a mix of languages in the same project. Very cool.

And when the register based VMs (Parrot, Plan 9) stop being so snobbish and compile popular stack based languages, we can revisit the whole discussion. LogicMagic 20:00, 09 June 2007 (EST)

  • Voting for Lua - small and fast --Johan 22:45, 22 July 2007 (CEST)
Personal tools