JVM-Based Languages Grow In Popularity
Follow us on Twitter
Subscribe to our RSS
JVM-Based Languages Grow In Popularity
by Reuven Lerner - Jun. 20, 2008Comments (9)
Related Blog PostsBuilding Blocks for the Modern Web ApplicationGuest Post: Steve Holden on Python-in-the-Cloud and AmazonThe Renaissance is Here for Translation TechnologiesReport: Open Source Application Servers Are More Prevalent Than You ThinkReport: Ruby Creator Sets Sights on Mobile App Development
When Sun Microsystems first unveiled Java in 1995, it was hard to define. That's because Java has several parts: It is, of course, an object-oriented programming language. Java is also a standard (or multiple standards, including mobile, standard, and enterprise versions) that defines the language, as well as the libraries that a programmer can expect to have available with each version. Finally, Java is a "virtual machine" (the "JVM"), a software environment on which Java programs execute. You can only run Java programs if you have a JVM -- but JVMs are available for every platform you can imagine, making Java a highly portable language. One of the fascinating trends that the Java world has seen in the last few years is the growth of non-Java languages that use the JVM. After all, if you create a new programming language, you will need to write it for a particular platform. If you want your language to be portable across platforms, you will need to implement versions for each of those platforms. By contrast, if you implement your language on the JVM, then your language will work on any system with a JVM, which means basically everywhere. A growing number of languages are thus being written for the JVM. Four of the most popular are distributed under an open-source license. Given that Java is now open source, this means that you have a fully open-source stack to work with--one that's also portable. Because these languages are implemented on top of the JVM, they also have access to standard Java classes and libraries. This means that if a third-party product includes connectivity routines in Java, but you prefer to work in Python, you can use Jython and access the Java libraries from within your program. The oldest JVM-based language, so far as I know, is Jython, formerly known as JPython. Jython, as you might guess from its name, is an implementation of the Python language on the JVM. Jython is compatible with the standard version of Python (sometimes known as "CPython") through version 2.2, which means that it is missing some of the newer Python features. The most recent version was released in October 2007 -- but Sun hired two well-known Jython developers earlier this year, and the language can now run the Django application framework, testifying to its compatibility. Sun similarly sponsors the development of JRuby, a JVM-based version of Ruby. Whereas Jython is one of only two implementations of Python, JRuby is one of several implementations of the Ruby language. However, JRuby is widely seen as a particularly important variation, partly because it has become both fast and highly compatible with the standard C implementation of Ruby. It is able to run Ruby on Rails, in addition to many other functions. Jython and JRuby are both ports of existing languages to the JVM. Two languages that are totally new to the JVM are Groovy and Scala. Both are growing in popularity; the difference is that while Groovy is more of a dynamic, "scripting" language, Scala is a statically typed language. Perhaps the best-known use of Groovy is in the Groovy on Grails project, a Web application framework (similar to Ruby on Rails) written in Groovy, and hosted on the JVM. Grails has found its way into commercial applications, most notably LinkedIn, where they found that it was much faster and easier to develop in than straight Java. Scala, by contrast, is a very strongly typed language, about which Steve Yegge spoke in a recent talk, and for which he got a bit of flak and pushback on his characterization of the Scala type system. Java has clearly succeeded as a popular language. It is now growing in popularity as a platform as well, with these four languages just the beginning of what we can expect will emerge in the coming years as language implementers experiment with the JVM.
python Java jython ruby jvm groovy jruby scala languages portability
Previous: Red Hat Enters the V...Next: OStatic Buffer Overf... Browse Blog
Jesse Babson uses OStatic to support Open Source, ask and answer questions and stay informed. What about you?
by Alan Wilensky on Jun. 20, 2008I am fascinated by the BEA implementation that takes the JVM on Hypervisor and adds just the services required to eliminate a server O/S,
I love the work of Charles Nutter and Jruby, although am not a professional programmer anymore - I was a FORTH and x86 assembler guy back in the day - before I sold my soul to the devil to become an analyst.
I want to know, when will these JVM / VMs become decent replacements for the OS? When will the first browser on the client side offer similar ability to bypass an O/S install.??
by Adrock on Jun. 20, 2008Don't forget about ColdFusion, the original dynamically-typed language for the JVM with over a half-million developers. A decade later CF developers are in high demand and with Adobe/RedHat support, they are poised for a major resurgence.
by Dan on Jun. 22, 2008There is also Nice (http://nice.sourceforge.net/), which has been around quite a while.
by Michael Sharman on Jun. 22, 2008+1 for not forgetting ColdFusion running on the JVM.
Comes with JRun but can equally run on Tomcat, JBoss, WebLogic etc
by an anonymous user on Jun. 23, 2008Java ecks!!!!
by dpminusa on Jun. 23, 2008What about JPerl?
by JoshL on Jun. 23, 2008Note that IronPython is a third implementation of the Python language, targeted to the Microsoft .Net platform.
by janislaw on Jun. 23, 2008Small mistake; there are at least four well known implementations of Python (CPython, Jython, IronPython and PyPy), not including offshots, like Pyrex or Stackless.
IronPython is as promising as Jython in the Microsoft's side of the world.
by El Molito on Aug. 22, 2008I'm a Groovy fan but regardless of specific language, running on the JVM is huge. There are so many possible solutions to leverage once your app runs there.
Share Your Comments
If you are a member, Sign in to have your comment attributed to you. If you are not yet a member, Join OStatic and help the Open Source community by sharing your thoughts, answering user questions and providing reviews and alternatives for projects.
Email Address (kept hidden)
Your Comment *
Promote Open Source Knowledge by sharing your thoughts, listing Alternatives and Answering Questions!
Explore Software in this Blog Post
Python has 3 reviews79 users
Ruby has 2 reviews6 users
groovy has 0 reviews5 users
scala has 0 reviews1 user
Jython has 0 reviews2 users
Your cloud solution managed 24/7
Expert cloud management & monitoring services starting at $9/mo.
Explore the plans
Featured MembersViewCraig HarrisI'm a tech analyst at a local firm here in Cambrid...
ViewJesse BabsonI used to work for a large chip company here and a...
Get answers and share your expertise.
Have a question? Ask the community
What are the Best Cloud Servers for Java Apps?
By Rick Larsen - Mar 08, 2012
What is the Best Cloud Based Database for a Java Application?
By Jonlinux - Mar 07, 2012
How to Port a Native Application to The Cloud?
By Michael McKinney - Jul 01, 2011
Happening Now on OStatic
Glen commented on 70,000 Transactions Per Second With NGINX
dima commented on French Government Urged to Adopt Open Source
anonymous commented on Meet the Raspberry Pi Supercomputer--with Lego!
Terms of Service
Powered by Vox Holdings
© 2011 OStatic. Design by smallTransport. Built on fine Open Source Software from projects like
Sign in to OStatic
Not a member? Join NowI forgot my password
JVM-Based Languages Grow In Popularity