Tuesday, January 01, 2008

Hello 2008! Will Java Strike Back ?

Wish I could start the new year blogging on a more positive note!

Two of these recent articles by InfoWorld don't look inspiring if you are a Java programmer. Particularly if you are one of the Java only programmers constructing enterprise software for one of the BigCos, these lines do not sound like music.

Notwithstanding the fact that Java is syntactically verbose, lacks the elegance of Ruby or conciseness of Haskell, Java has so far delivered the promises in developing performant enterprise applications, where you look for a statically typed, fast, stable language with a strong community contributing to the zillions of open source libraries and frameworks.

But since the release of Java 6, the issue of language design in Java clearly lacks strong leadership - whiteboards and community voting help in getting the watermark, but you need a strong leader to dictate the best features into the future versions of the language.

Developers who seek joy in programming have been moving away from Java to the rails of Ruby, Erlang and Haskell. The bottomline is that we need to make Java more productive, and the only way to do so is to add features that reduce the verbosity of Java code and encourage developers to design more powerful abstractions using the language. On the contrary, the recent trend in the Java development ecosystem has been towards adding frameworks in the development stack to make the round peg fit the square hole.

Some of the experts of the Java language suggest moving to other languages on the JVM (ala Scala, JRuby) if you like to have more powerful control abstractions. In that case what will happen to the tonnes of Java code ruling today's enterprise ?

Will Java be the new COBOL ?

7 comments:

Anonymous said...

Have you tried Grails yet (grails.org)? It will end your ruby envy in no time. It also integrates seamlessly with java, spring and hibernate.

Manuel Palacio said...

Java will without a doubt become the new Cobol. But that's not going to happen this year. Concerned developers (the minority btw) want to move away to more productive languages but that doesn't mean they will be allowed. We have to convince "unconcerned" developers + management.

And then what will we move away to? It has to be something that allows you to use existing libraries so it will have to be another language on the JVM: JRuby, Groovy or Scala probably.

Anonymous said...

I completely agree with manuel.

Languages like Groovy, Scala, JRuby will take over in a few years but the JVM will be the same. So the Java code will be reused with a new Syntax. The transition can be smooth over time.

To Java the Language I have to say that the development of the language should slow down. With generics and annotations Java has a complexity that is high enough. If one feels the need for changes beyond syntactic sugar I would point to Scala. Scala is strict typed, concise and fast. Otherwise Java could become the next cobol too soon.

Debasish said...

@Anonymous:
To Java the Language I have to say that the development of the language should slow down.

Are we conceding to the idea that it is the end of the road for Java as a language ? Should Sun say that "here is Java 8 .. and it is named Scala" ?

Of course the JVM as a platform is here to stay. And more and more we will see newer languages like Scala and JRuby thriving on the JVM as the runtime.

stupot said...

You really should not have left a link to that infoworld article. It was complete pants. AJAX a competitor to Java? Doh! AJAX works with Java and in the case of GWT the AJAX is completely written in Java.

Prashant Jalasutram said...

Debasish,

What a post to start new year after taking a break!

Anyhow,i believe its time to start looking into other languages.

Thanks
Prashant Jalasutram
http://prashantjalasutram.blogspot.com/

shopping cart said...

Hi

It is a great and I think it is great and nice post.