Way back in December of 2000 noted
columnist Jon Udell covered the language-agnosticism of the Microsoft CLR versus the JVM.
Since Java appeared, it has been clear that Java-the-language was, theoretically, just the preferred interface to the Java Virtual Machine, in the same way that C# is a preferred interface to the .NET Common Language Runtime. Yet, Sun, itself, has never chosen to emphasize this point. It's been left to an intrepid band of independent developers to work out ways to integrate other languages with the JVM.
A quick search for "JVM languages" on Google turns up a number of interesting
lists of languages running on the JVM such as:
- Tcl
- Lisp
- Basic
- Smalltalk
- Groovy
- JRuby
Six years after Udell highlighted the topic, Java the Platform is beginning to come out of the shadows of its more well known counterpart Java the Language. Graham Hamilton
blogged on the concept a few years back. More recently at JavaOne this year it was announced that Sun
will be bringing support for Visual Basic to the JVM through its
Project Semplice. Projects such as Groovy and JRuby have also highlighted using the JVM for more dynamic languages. Sun is looking into
providing more support for such projects in Java 7. This effort has been criticized by some developers however as being too little too late:
Meanwhile, Cedric Beust, a developer at Google, in Mountain View, Calif., said of Sun's plans to add more support for dynamic languages: "I'm afraid it's too little—and probably too late as well. The only added support is one bytecode in the virtual machine that—while a big progress for scripting languages—still requires a lot of work from language developers interested in writing a JVM [Java virtual machine]-based scripting language."