Monday, October 02, 2006

sad, sad world

So I just finished reading a very interesting article about the building of squeak - an implementation of the smalltalk language. One of the key points of the article I thought was that the authors got a big productivity boost by actually writing the squesk vm in smalltalk (or actually a subset of it). And then they converted into C for compiling to get good performance. Which is fair enough, I reckon C seems to be a more popular byte-code the JVM or CLR byte codes :-)
No lets have a look at the Java world, as far as I know, out of all the JVM out there, there's a grand total of 1 that is actually written in Java. But even then, JikesVM is a nightmare to build with wierd dependencies and some kind of code-generation in the build too. Can anyone even tell me why they ned code generation for a VM? Ok it is meant as a research VM rather then a production one, but I havn't heard of any of the C-based JVMs doing this.
So anyways, obviously all the Java community believes in Java being a superior language that they all went and wrote their VMs in...C!
Now Im not sure how the mono crowd do with their VM, but at least their new VB compiler is self hosting as is their C# compiler.
Of course their is some hope, may OSS projects are now switching to using Eclipses Java compiler which is written in Java.
But no decent small JVM in Java along the lines of JamVM.
And then theres the lovely monolithic gnu classpath. Which must be credited with doing well to implement the now enormous "standard" java class library but is about as modular as a obelisk and weighing in at around 8MB!! is hardly light-weight let alone suitable for use in embedded or small device applications. Even worse it is absolutely riddled with native code dependancies, which while good for quickly implementing the huge Sun-created APIs does not exactly make it easy to port.
Now you might be expecting me to say that I've had enough and am just going to write my own - well I would if I had a bit more time, but for now I'm just going to put up with it all and see if I can just get JamVM up and running nicely on my 770 but if I get really adventerous I might even try cutting classpath down to a proper (J2ME CLDC 1.1) size.
On the other han, my love affair with javascript script continues and I note there are no self-hosting implementations of it either...

Labels:

1 Comments:

Anonymous said...

> I note there are no self-hosting implementations of it either

http://en.wikipedia.org/wiki/Narcissus_(JavaScript_engine)

4:01 PM, November 08, 2006  

Post a Comment

<< Home