//polyglot programmer
Using Maven to Compare JVM
Scripting Languages
Learn how to use Maven to quickly try your hand at Clojure, Groovy, JavaScript, JRuby, and Jython.
CASIMIR SATERNOS
JAVA IN ACTION
Matt Mullenweg, a highly suc- cessful entrepreneur and
founding developer of WordPress,
recently remarked that “Scripting
is the new literacy, and the ability
to learn and execute on your ideas
. . . is going to be invaluable.”
Scripting languages can
decrease time to market, improve
efficiency, boost performance,
and automate previously error-
prone manual workflows. A new
programming language provides
a new framework to conceptual-
ize ideas and might offer other-
wise inaccessible solutions. In
particular, less-structured and
ad hoc projects can be imple-
mented more effectively by
choosing the right scripting
language. Specific APIs or librar-
ies that were implemented for
a given language might not be
available for other languages.
This article presents a project,
based in Apache Maven, that can
be set up in minutes and allows
developers to run and compare
scripts written in five dynamic
scripting languages: Clojure,
Groovy, JavaScript, JRuby, and
Jython.
ated Ruby with the intention of
giving programmers joy.
Initially, a language might tar-
get a specific platform. JavaScript
gained popularity in Web brows-
ers. Python is used as the scripting
language for open source proj-
ects such as Blender. The Java-
based Python implementation
known as Jython is used in com-
mercial software such as Oracle
Data Integrator. Certain cloud
computing and hosting services
provide support for specific lan-
guages. Heroku supports Clojure,
JavaScript, and Ruby, while the
Google App Engine utilizes Go,
Java, and Python. So your choice
of language might well be dic-
tated by the arena of your devel-
opment efforts.
ABOUT US
Language Differences
Programming languages, which
are designed with different goals
in mind, vary in syntax, target
platforms, performance, and
features. Choosing a language
with a desirable syntax is important. Some languages emphasize
expressiveness and clarity, while
others focus on conciseness.
Syntax concerns might not even
be purely technical. Yukihiro
Matsumoto has said that he cre-
blog
Learning a new language gives you the power to
create better software, says Casimir Saternos.