"I don't think Google is deliberately courting mediocre hackers by using Java. It was probably just the expedient choice for some reason."
They're choosing the Java Virtual Machine, not Java itself. Java just happens to the be standard example of a language which targets the JVM. Using the JVM is a prudent choice since many tools already exist which target this platform, it's sandboxed, and it's hardware platform-independent. You already have implementations of many languages targeting the JVM including Java, Python, and Ruby.
In fact, the JVM bytecodes are then recompiled to their special VM's object format, called Dalvit. Using the JVM as the common layer allows them to fit into the existing software ecosystem without causing pain for developers and language implementors.
The jvm is just bad at accommodating dynamic languages though, unfortunately. Similar was the fate of parrot. At the moment this idea is more of an academic dream.
Why's that? Sure, you have to ship some more support code (parts of the language runtime) as part of the compiled bytecode, but that just increases the size of the bytecode somewhat. It's not a fatal problem at all.
Parrot always seemed like an odd idea to me, but I just assumed that there must be enough to be gained by doing such a high level VM if people were bothering to write it.
I was referring to performance and ease of adapting the JVM's way of doing things internally to very different languages. This is quoting a number of parrot and jython developers. I have the links around here somewhere..
Why do you think jython et all are so terribly far behind? It's not for shortage of interest, more because the likely possible outcome of this could only be sub-par.
They're choosing the Java Virtual Machine, not Java itself. Java just happens to the be standard example of a language which targets the JVM. Using the JVM is a prudent choice since many tools already exist which target this platform, it's sandboxed, and it's hardware platform-independent. You already have implementations of many languages targeting the JVM including Java, Python, and Ruby.
In fact, the JVM bytecodes are then recompiled to their special VM's object format, called Dalvit. Using the JVM as the common layer allows them to fit into the existing software ecosystem without causing pain for developers and language implementors.