Top five scripting languages on the JVM
Groovy and JRuby lead a strong field, with Scala, Fantom, and Jython following behind
The language follows the vision of its designers, Andy and Brian Frank, who originally wrote it to develop a large package of real-time software for one of their clients. Their vision, much like that of Groovy's and JRuby's designers, is to make coding easier. They've eliminated a fair amount of ceremony, but pushed ahead into new areas to make some interesting choices.
For example, all integers and floating-point values are 64 bits wide. This means that for all intents, the results of arithmetic operations cannot overflow the size limits of the resulting field. (This problem can lead to hard-to-find bugs that can have disastrous results on calculations.) Fantom also includes built-in support for concurrency (parallel programming) via actors -- a trait shared by only Scala in this roundup. The libraries have been thought through to follow a different model than the standard APIs from Java and .Net, which are anything but orderly. As a result, it's easy to anticipate which API is needed for a specific function and where it can be found. Becoming productive with Fantom is made even easier by the excellent documentation at the Fantom website.
Like many of the niche languages, Fantom suffers from limited support via external tools. Its only IDE support, for example, is a single plug-in to the NetBeans product. This is likely to change as the community for Fantom grows and its unique design and cross-platform characteristics become more widely known.
JVM scripting language No. 5: Jython -- Python for the JVM
Jython, or what was originally JPython, was one of the first scripting languages to be released for the JVM. Its intent was to provide a Python implementation for the Java platform. In this respect it mostly succeeds, as it implements all but a small portion of the Python language. Python itself was one of the original scripting languages (along with Perl). It has retained its popularity over the years as one of the best all-purpose languages, and it is widely used inside of Google, which employs its original developer, Guido van Rossum.
Jython initially received a warm reception, but after its principal developer, Jim Hugunin, left the project to work at Microsoft the language began to flounder. (At Microsoft Hugunin wrote IronPython, a version of Python tailored to the .Net CLR.) Jython then went through a succession of lead programmers; the project essentially stalled from 2005 to 2008, leading to a dissipation of the community. In the interim, other scripting languages for the JVM, notably Groovy, gained traction and Jython was never able to regain momentum.
The Jython language, however, found its way into commercial applications, and it is one of the two officially supported scripting languages in WebSphere Application Server, IBM's commercial Java EE product.