On Sun, Dec 18, 2011 at 3:14 PM, Paulo Pinto <pj...@progtools.org> wrote: > so Wrote: > >> On Sun, 18 Dec 2011 22:08:54 +0200, Paulo Pinto <pj...@progtools.org> >> wrote: >> >> > The SunSpot VM is written in Java with a very small subset of C code. >> > http://www.sunspotworld.com >> > http://labs.oracle.com/projects/squawk/squawk-rjvm.html >> > >> > The Jikes RVM is written mostly in Java. >> > http://jikesrvm.org/Presentations >> > >> > The Maxime VM is written mostly in Java >> > http://148.87.46.199/projects/maxine/ >> > >> > The Oracle/Sun HotSpot is written in C++ >> > http://en.wikipedia.org/wiki/HotSpot >> > >> > And this is just a small list, as there are quite a few JVMs around. >> >> Each of these 4 cases you support Walter's point. >> He didn't say you can't write programs in Java or you can't interoperate >> with other languages. > > quote: "... I find this an odd statement because the Java VM is written in C, > so therefore it is on the same or fewer platforms than C. ..." > > Means a VM written in 100% C code, which is not the case for the VMs I have > listed. Some of them the only C code is to provide direct access to the > hardware via JNI, even the JIT and Garbage Collector are written in Java.
That's not the point. The point was that to get any of those VMs running on a given target platform, you have to start with C at some level. The end result may not be a pure-C VM depending on how many bootstrapping steps you go through, but you don't have any hope of running Java on a platform you can't target with a C compiler. Whether or not the VM you actually want to use is written in C doesn't really matter from this perspective. You need C to get a VM at all, so JVMs will always be available on the same or fewer platforms than C.