Newsletter sign-up
View all newsletters

Enterprise Java Newsletter
Stay up to date on the latest tutorials and Java community news posted on JavaWorld

JavaWorld Daily Brew

Rumors greatly exaggerated - Java's demise


 

In a recent article published by IBM developerWorks Ted Neward casts some perspective on the rumors of Java's demise. After a quick survey of the variety of arguments circulating -- some cite numbers that show Java has fallen (marginally) from its top-tier spot, while others decry the lack of features found in alternative environments du jour -- he declares the Java platform "Dead like COBOL." (Which of course means alive and thrashing; nearly twenty years after falling out of fashion, COBOL is still cashing checks, moving mainframes, and being taught in schools.)

Perhaps the most interesting piece of the article is Ted's overview of the Java ecosystem as it stands today. The Java language is the weakest link in this ecosystem, he says, being more than a decade old and (with the addition of new features) in real danger of collapsing under its own weight. The JVM and (JSE and JEE) libraries are the invaluable, if aging, core of the platform, and all three continue to evolve. Client-side Java may well be too late out of the gate, but Java is "the established player in the server space, particularly when examining the options for non-Windows back-end farms."

This brings us to the newest layer of the Java ecosystem, what Ted calls non-Java JVM programming languages:

"Where Java leaves off, other languages pick up, enhance, and provide solutions. Groovy provides a nice dynamic, objectish scripting solution around Java objects. (j)Ruby offers a Ruby implementation on top of the JVM, opening up the world of Rails and ActiveRecord to Java programmers. Scala and Jaskell bring functional concepts home to the JVM, offering potential solutions to the rising problem of concurrency. And so on, and so on, and so on."

Whereas some might cite the popularity of JRuby or the growing interest in Scala as evidence of Java's waning power, Ted calls alternate languages for the JVM "what the technology pundits missed" in the rush to declare Java dead. Java may well be the last big programming language (as Ola Bini has recently suggested) but the Java libraries will, without a doubt, outlive every programmer using them today.

What do you think the future holds for Java -- or for you as a Java-based programmer? What are you doing to stay in stride (or not) with the Java platform as it evolves?

I hope Java does not changed to much.

When I want to write a large application using rigorous process and get as much help as I can from the compiler (to avoid errors) I use Java.
I also use Java because I think it is still the fastest JVM language.
I have tried Groovy and JRuby. They are both nice addition to the platform but using them I did'nt feel they were as solid as Java. Theu allow too much garbage at compile time for my taste and I ended up writing more unit tests to compensate.
Scala might be better at compile time but the syntax is just too weird. I have written programs in APL in the 70s and I don't want to go back to that.
Still, I think Scala is another nice addition to the platform and I might take a better look at it eventually.
In the meantime I'll stick with Java. My top Java enhancement wish would be to get a syntax that allows defining properties similar to what they have in C#. This allows to comply with the uniform access principle and this is a really important language feature.
I can live with using anonymous classes. Closure is not a big priority for me. However enhancing the libraries to implement the Ruby "iterators everywhere" approach would be nice. The iterators would call anonymous classes and thats ok with me.
JS

Comment viewing options

Select your preferred way to display the comments and click "Save settings" to activate your changes.

Post new comment

  • Web page addresses and e-mail addresses turn into links automatically.
  • Allowed HTML tags: <p> <a> <em> <strong> <cite> <code> <ul> <ol> <li> <dl> <dt> <dd> <br /> <br> <strike>
  • Lines and paragraphs break automatically.
  • Use <!--pagebreak--> to create page breaks.
  • You may post code using <code>...</code> (generic) or <?php ... ?> (highlighted PHP) tags.

More information about formatting options

CAPTCHA
Just checking to see if you're an actual person rather than a spammer. Sorry for the inconvenience.