; Date: Tue Sep 25 2007
A few weeks ago Phil Toland wrote Stop the Insanity about the "rise" in popularity of languages other than Java. (but it didn't pop up in my feed reader until today) Last year it seemed you couldn't turn around without reading another blog entry saying Ruby was going to kill Java, etc. Now the named languages are Haskell or Erlang, but the story is the same. I think the rise of JRuby demonstrates something, however.
'Java' isn't just a language.. it's an architecture that includes a virtual machine, a cross-platform application package format (.jar, etc), zillions of available libraries, a cross-platform GUI toolkit, oh and a language.
Since the architecture allows for executing on the JVM any language which can be expressed in Java bytecodes, this makes for huge flexibility. If you don't like the Java language you can choose among the other languages, and still use all the other features the environment offers.
For example I've recently been playing with Groovy. I wanted to be exposed to closures and dynamic languages and there are many things about Groovy to like. One of the coolest things about it is since it compiles to Java classes, it easily can incorporate any Java library. So I've been having great fun using the Rome library in Groovy to play with blog and podcast aggregation. Groovy makes it simple, especially due to the hugely simplified syntax for expressing an HTML document, while Rome does all the heavy lifting of making RSS and Atom simple.
If Groovy weren't running on the JVM then I'd have to spend a lot more time reimplementing Rome-like functionality in Groovy.