Google Go fuels JVM alternative

Though 'far from complete,' the jvm.go project is drawing praise as a potential alternative to Oracle's JVM

gas pump 000002769763

Go development is getting more ambitious with the advent of a Java Virtual Machine written in Google's systems language.

Found in GitHub, the JVM is called jvm.go and is attributed to zxhO in Beijing. "The main purpose of this project is learning Go and JVM. So, the number one goal of the project is readability of code. The basic idea is just implement the core JVM and use rt.jar (from OpenJDK) as its class libraries."

Whether jvm.go ever gives Oracle's enterprise JVM technology a run for its money remains to be seen. "At this point, it looks more like an experiment, not anything close to being enterprise-ready," analyst Stephen O'Grady, of RedMonk, said in an email. "And by the creator's own admission, there's a long way to go between re-implementing a subset of the JVM and having something competitive. That said, it's an interesting project, certainly, and indicative of the kind of use Go is suitable for."

The project is drawing strong reactions in Hacker news discussions. "We need more people doing crazy --- like this," one commenter said. "Java is a fantastic runtime -- and a great language. But it has a huge amount of baggage. I'd love to see experiments in the open source arena playing around with alternatives to the standard Oracle JVM."

Another commenter asked about performance and the operation of native JNI (Java Native Interface) calls. The JGo project, to provide a compiler and runtime environment for Go on the JVM, was mentioned as well, although its project page says it's "on hiatus."

Go debuted in 2009 and has gained both praise and criticism for its simplicity. It already has been used in development of the popular Docker container platform, and it ranks as the 17th most popular language in the RedMonk Programming Language Rankings for January.

Copyright © 2015 IDG Communications, Inc.

InfoWorld Technology of the Year Awards 2023. Now open for entries!