Top Five Scripting Languages on the Java Virtual Machine

Anyone who has followed software development tools during the last decade knows that the term "Java" refers to a pair of technologies: the Java programming language and the Java Virtual Machine (JVM). The Java language is compiled into bytecodes that run on the JVM. Through this design, Java delivers its vaunted portability.

1 2 Page 2
Page 2 of 2

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.

Clojure, JavaFX, and NetRexx Clojure, JavaFX, and NetRexx are likely to face a more difficult path breaking into the enterprise than those previously discussed. These languages are not inherently flawed, but they either appeal to very small communities (Clojure and NetRexx) without having notable business-oriented features or (in the case of JavaFX) face intense competition from other languages. Predicting the future path of any language is a fool's errand, so I could well be wrong, but I suspect many language cognoscenti would agree with my projection.

Clojure is a purely functional language that is a dialect of Lisp; syntactically, it sits between Common Lisp and Scheme (the two main variants of Lisp). Like Scala, it has built-in support for concurrency that enables the clean separation of immutable and mutable functions. Unlike all the other languages mentioned here, however, it is not object-oriented.

JavaFX is a Java platform and scripting language brought out by Sun during the last two years to facilitate the development of rich Web applications. While successful at delivering this functionality, it has not found widespread acceptance. Despite this, when Oracle purchased Sun, JavaFX was specifically called out by Larry Ellison as one of the key technologies he would continue to invest in.

Finally, NetRexx was the original scripting language for the JVM. Developed by IBM, it is based on the high-level Rexx language. Although IBM made NetRexx available for free, it was never open sourced. Rumors that IBM will open the source have swirled throughout much of its lifetime, but there has been little confirmation of that. Despite being a remarkably well-thought-out scripting idiom -- that can be either compiled or interpreted -- NetRexx has languished. IBM updated it exactly twice since its release in 1997, and as a result, it no longer has an active user base.

Also on InfoWorld:

How HTML5 will change the WebHTML5 will spawn richer, more sophisticated websites while also easing development. Here are nine ways the impact of HTML5 will be feltWhat to expect from HTML5Support for the next generation of HTML is already appearing in today's browsers and Web pages. Are you ready to take advantage? InfoWorld review: Virtualization for development and testVMware, VMLogix, Surgient, and Skytap lab managers ace virtual machine configuration, deployment, and teardown, with some key differences in features and easeInfoWorld review: Tools for rapid Web developmentWith WYSIWYG prototyping environments and preconfigured graphical components, rapid Web development tools can help you build applications faster -- but with less flexibilityInfoWorld review: Eight PHP power toolsEclipse PDT, NetBeans, NuSphere PhpED, and Zend Studio lead a capable field of IDEs for Web developers InfoWorld review: Climb aboard Ruby on RailsThe InfoWorld Test Center sifts through nine Rails IDEs and editors to help you choose the tools to suit your development needs

This article, "Top five scripting languages on the JVM," originally appeared at InfoWorld.com. Follow the latest news in software development and Java at InfoWorld.com.

Read more about developer world in InfoWorld's Developer World Channel.

This story, "Top Five Scripting Languages on the Java Virtual Machine" was originally published by InfoWorld.

Copyright © 2010 IDG Communications, Inc.

1 2 Page 2
Page 2 of 2
7 secrets of successful remote IT teams