According to Wikipedia,
A Java Virtual Machine (JVM) is a set of computer software programs and data structures which implements a specific virtual machine model. This model accepts a form of computer intermediate language, commonly referred to as Java bytecode, which conceptually represents the instruction set of a stack-oriented, capability architecture. This code is most often generated by Java language compilers, although the JVM can also be targeted by compilers of other languages.
This clearly indicates that any programming language that has a compiler that can produce Java bytecode can be used to write programs that run on the JVM.
In addition to the Java programming language, Robert Tolksdorf has created an exhaustive list of around 200 other programming languages that can be used to write programs that run on the JVM. The ones that I am interested in currently are (in alphabetical order):
- Bistro
- Groovy
- JRuby (aka Ruby on the JVM)
- Jython (aka Python on the JVM)
- Nice
- Rhino
- Scala
- SISC (aka Scheme on the JVM)
Personally, as a fan of Ruby, I am watching JRuby very closely.
Which one do you want to watch today? :-)
Groovy sure looks interesting, especially when coupled with Grails.
which one will be worthy of being used on an enterprise level? JRuby and Jython have potential – ruby and python are already ‘known’ and used on an increasing scale.
Jython seems to be dying a slow and painful death. I would place my bet on JRuby and Groovy.
–Eddy
If anything, jython has had a rebirth with the recent 2.2 release. There is more activity on the development list lately than there has been in a long time. OTOH, groovy is interesting and is seeing good uptake by frameworks. However, the java-like syntax still seems a bit clunky to me compared to python–but that was a choice by the language designers to make it easier on java folks.
See alt.lang.jre for an introduction to six alternative languages for the JVM.
Thanks Jordi.
Nice looks like a nice language :-) And NetRexx brings back memories of my Amiga 500 where I used (a bit of) ARexx.
great :p this saves me time looking some languages supported on jvm.