If conferences like JavaOne are a High School Pep Rally, then “No Fluff, Just Stuff” is skipping out on the rally, and smoking in the parking lot with the Cool Kids.
While at the J1 keynote Rich Green envisions “Java on all the screens of your life”, at NFJS, Stuart Halloway declares without ceremony that “Java is dead”.
Stuart is Gandalf in Moria hearing the “drums in the deep” knowing that the black tide is coming, while I’m Gimli standing atop Balin’s tomb, wielding my axe, declaring, “Let them come! There is one [Java Developer] in Moria that still draws breath.”
The sentiment here is that Java, the Language, has outlived its utility, and that the legacy that will live on will be Java, the underlying platform. Stuart asserted that all of the good parts of Java (the language) actually are property of the JVM and not the language proper.
For example garbage collection and platform independence both immediately come to mind when talking about the “pros” of Java, but these are features of the VM — any language that runs on the it will get these features.
As my colleague Bill has already pointed out, Stuart envisions a world where functional languages (Scala and Clojure) have a stronger presence, with dynamic languages (Groovy/JRuby) bridging the gap.
This sentiment seems to have been gaining more momentum, but I think it’s important to put it in context, which at the moment is the realm of web application development. So if instead of comparing Groovy to Java, we’re actually comparing Grails to say, Struts, then I couldn’t agree more that Java can’t get out of that space fast enough.
Java, as a general purpose language, however, is still all over the place: from high performance 3D games, to Aircraft, to MMO backends, to advanced scientific applications, to most every cell phone on the planet. So “Java is dead” perhaps should be qualified to “Java has fallen out of favor for certain types of applications”.
Now before I paint myself completely as someone in denial, I should say that I’ve wholly enjoyed working with Groovy, and what little Scala I’ve done. I would love to work on a project that used either exclusively.
I recognize Stuart’s “Java is dead” as a call to arms as much as a declaration. Sometimes strong statements are needed to push people toward new adoption.
Still, I feel bad for Java (the language). I feel that it has always gotten a bit of a raw deal — it’s a bit like the Jimmy Carter of languages. Java may only be thought of fondly after it’s “out of office”.
Java got pigeon-holed early on as a “web language” and endlessly (and understandably) confused with JavaScript. It has spent over 10 years trying to prove itself worthy as a serious language.
I don’t know how many times I still hear things like: “You’ll never believe it… but this is Java”. You know what? After 10 years, I think we can start migrating to “I am not shocked that this rotating cube is Java”.
But Java is still fighting this perception battle all these years later, all the while Ruby (which is just as old as Java, if not older) sits on the sidelines waiting for Java to clear the way, and for what? So it can get hit over the head with Rails? It’s as if the only way we can adopt new technology is to completely disown the current solution.
Don’t get me wrong. I think these are exciting (if not cyclical) times to be in Software Development, and I look forward to what the next five years will bring. I’m just not quite ready to call the time of death yet to the one who got us here.
Tags: Java
| M | T | W | T | F | S | S |
|---|---|---|---|---|---|---|
| « May | ||||||
| 1 | 2 | 3 | 4 | 5 | ||
| 6 | 7 | 8 | 9 | 10 | 11 | 12 |
| 13 | 14 | 15 | 16 | 17 | 18 | 19 |
| 20 | 21 | 22 | 23 | 24 | 25 | 26 |
| 27 | 28 | 29 | 30 | |||
hear hear