Sam Gentile: Ok, I've seen this all day and I don't get it. Implementing Java on the CLR may be a good thing (for somebody somewhere) but what good is a VM on top of a better VM? If the CLR is a VM, and it is, why do you need another one on top? I must be confused about something because everyone seems to think this is great. What am I missing?
There is only one VM. From your perspective, the "right" one.
I<<K.VM.NET is a Java byte code to CIL converter (some prefer to call it MSIL, but not me). My guess is that Jeroen is using the same hooks that CLAW does to modify the byte codes immediately prior to JIT, but in this case the translation is a wee bit more involved.
If all goes well, one should be able to simply put JAR files in a CLASSPATH and transparently call Java code from C#.
I suspect the hardest part will be handling the class libraries - in particular three classes: Object, String, and Exception.