The JVM is an industry-proven environment for enterprise applications development and it has been receiving lots of updates especially after moving to be open source. The only problem was the Java programming language in my opinion. Java is an excellent language for its simplicity and consistency (people may argue) but it’s not a “modern” language and lacks most of the features that the current modern crowd is looking for.
For those who tie the JVM (Java Virtual Machine) with the (Java Programming Language), I’m sorry to say, but you are absolutely wrong. The Java programming language is the first language that supported the byte-code generated for the JVM and it’s the most famous one so far but the virtual machine is an environment (a very stable one actually) and many programming languages (literally; many) is now supported on top of the JVM, you can write Jython (Python implementation in Java) and your code will run seamlessly over the JVM with your old Java code/classes.
Here is a list of the most interesting “modern” programming languages that run over the JVM and that leverage the new features of the modern programming languages without sacrificing the performance you used to like when writing in Java (this is not true in all the languages, but true for most).
Groovy
Groovy is agile and dynamic object-oriented programming language, getting very good support lately and has somehow poor performance in comparison to Java and Scala but hopes that Groovy++ will have a much better performance. Groovy is inspired by Ruby, Python, and Smalltalk.
Scala
Scala is simply a beautiful functional general-purpose programming language with exceptional performance and is considered to be the most interesting “emerging language” for the JVM, excellent for concurrent applications due to the functional nature. It’s the language used for the modern backend of Twitter which handles around 600 tweets per second (that’s more than 26 Million tweets per day). Scala is a statically typed programming language.
Clojure
Another functional programming language that is completely dynamic, supports type inference and is considered a dialect of lisp.
Jython
Python for the JVM, dynamic compilation to bytecodes and works pretty well with libraries already written in Java.
Jython is written completely in Java and is truly multithreaded (no GIL, Global Interpreter Lock) and uses the generational JVM garbage collection, not the simple reference counting garbage collection of CPython.
JRuby
Like Jython, it’s Ruby written in Java and written for the JVM, supports true threading and has attracted wide support from the community.
I’m mostly interested in scala and groovy (Grails to be specific) and I believe I’ll share my experience with you in my learning way later.
I hope you enjoyed this.










by Ahmed El Gamil
01 Mar 2010 at 23:09
A really informative article Ahmed ..
So do you think that Java will go away while the JVM was built to stay ?
by Ahmed S. Farghal
02 Mar 2010 at 11:10
No, I believe that java will stay for long time and it might get new features to be more powerful but there is a huge user base for java at the moment.
by GaMaL
06 Mar 2010 at 23:52
Thanks for the nice post.
I attended the JDC2010 scala session and I could hardly read the code.
But, according to what you have told me yesterday you said that scala is the closest to Java performance-and I’m not arguing about that-I want to know how can you decide/know so?
If you have any online sources that I can tune myself to.
Or do you have to benchmark it yourself ?
Sorry for long comment, my dear mentor
Salam
by Ahmed S. Farghal
07 Mar 2010 at 14:36
here you are http://shootout.alioth.debian.org/u64/scala.php
by KarimAli
13 Mar 2010 at 09:42
I really liked this post ..
and i believe that JVM can make more success in development space .. but it need more marketing in Arabic market ! Actually people still think that .Net is the only IDE , best Platform .. incredible framework in the world !!
and about the JVM based language .. i’m interesting in Scala to .
but we still have spring too in the dark there !
Thanks for sharing your knowledge and thoughts in this post Ahmed
..