A Language-Agnostic Java?

In a recent post by Tim Bray, a Technology Director at Sun Microsystems, he describes a “summit” held in which the leading developers of popular dynamic languages were invited to Sun to spend the day discussing issues in and surrounding the use of their languages and the projects created to make them work on the Java platform. I speak mainly of Jython (Python on Java) and Groovy (a mixture of Python, Ruby, Smalltalk, and Java).

Attending this summit were people from the Perl camp – Larry Wall and Dan Sugalski (Parrot) – and the Python camp – Guido van Rossum, Samuele Pedroni (Jython), and Sean McGrath. James Strachan of Groovy was present, as well as Graham Hamilton, Gilad Bracha, Martin Buchholz, and Tim Bray of Sun.

Specifically, the topic at hand dealt with these languages that are designed to run on the JVM (Jython and Groovy) and how Java can be made in such a way to make it easier to allow dynamic languages to run on it. I found it particularly interesting in light of my recent article on Parrot and the Pint compiler for running PHP on Parrot.

What does a future with a cooperative Java that’s language-agnostic and runs popular dyamically typed languages mean for the future of these languages? Probably not much since the languages themselves won’t change – only the machine that runs them. Yet, I found myself wondering what this means for the future of Parrot. Imagine a JVM with the ability to run Python, Ruby, Perl, and even PHP. This doesn’t go as far as one interpretation that PHP would become Java, but rather each language maintains its own identity, yet they’re all sharing the same living space – in a sense, they become roommates.