Five curious JVM languages
Scala? Bor-ing. Here are five weird and wonderful projects that demonstrate the diversity of the JVM platform.
In addition to the now-vanilla Clojure, Scala and Groovy, the JVM has some pretty eccentric languages. Some are simple research projects, while others have probably had million-dollar budgets – but all are worth checking out, if only for their oddness.
Since the introduction of invokedynamic in Java 7, the JVM ecosystem has skyrocketed (Wikipedia lists almost 100 languages). However, the idea of building other languages on top of the Java Virtual Machine is nothing new: some of these date back further than a decade.
Frink is named after the wacky Simpsons character who said: “I predict that within 100 years, computers will be twice as powerful, 10,000 times larger, and so expensive that only the five richest kings of Europe will own them.”
And, like the number-obsessed professor, Frink is a highly-specialised language optimised to do calculations with mixed units of measure. For example:
height = 3 feet gravitation = 9.80665 m/s^2 mass = 60 kg potential_energy = height * gravitation * mass println[potential_energy -> joules] // Display in joules
Having been around since 2001, there are now visual ports of Frink and even a JSP-like “Frink Server Pages”.
Each Hollywood movie has its own reboot, reasons the homepage of phpreboot, so why not do the same to PHP? This do-over of the enduring popular language ditches semicolons, $ signs on variables and, while it’s at it, that pesky var keyword too. That’s not to say that phpreboot is entirely negative: it adds native XML, JSON, regex and SQL syntax support, among other changes.
Java dev Rémi Forax created phpreboot in part to show off the potential of invokedynamic. Unfortunately, he has since apparently abandoned the project – phpreboot has been in stasis since 2011.
Many languages claim to be optimised for use by humans, not computers, but only one can objectively claim to be the easiest to grasp. Quorum has been iteratively designed through “formal empirical studies with human subjects”, and the result is a very clean syntax reminiscent of Ruby.
Awarded a Duke’s Choice Award in 2011 (and covered by JAXenter), Quorum is still under active development. It may not appeal to grizzled programmers, but this plucky little language could be a good way to ease newbies into coding.
Spawned within the deepest, darkest recesses of Google, Go is quickly gaining traction thanks to its speed and scalability. But, as with all languages, you know how it could be improved? Opening it up to a wealth of JVM libraries already available.
Thanks to Harrison Klaperman, this became a (partial) reality, when he began porting it across in early 2011 under the name JGo. However, despite a message of confidence from Klaperman that he can fully implement Go on the JVM, it has laid untouched since May 2012.
This Sun Microsystems research project, influenced by both Fortran and various forms of pseudocode, precedes most JVM languages. However, it never truly graduated from Sun’s labs, and was finally axed last year after three years at Oracle.
The source code remains online under a BSD license – but, judging by the lack of community interest, it seems that Fortress has been no more successful in death than it was in life.