Quantcast
Channel: Kai Kreuzer
Viewing all articles
Browse latest Browse all 42

Concurrency in the Java World

$
0
0
No this post is not about multi-core cpus or about making your code more thread-safe. It is instead about the latest trends in the Java universe. As Ted Neward says, Java was seen for a long time as the universal (God given) programming language that can and should be used for each and every (software) problem in the world. This ended up in a blown up JDK, an abundance of core APIs and an always busy JCP. Furthermore, Java has become an established programming language. As Rod Johnson notes "Nobody wants to date a Java developer." Java is now mainstream and not sexy anymore.

Out of these two reasons, one could see a clear trend away from the "classical" Java.

The very first step in this direction was IMHO already the rising of Eclipse - the chosen name already shows that it was intended to break the Sun monopoly in the Java world. All of a sudden, there was a "parallel" UI-widget-framework available than AWT/Swing that is an integral part of every JRE.

The second step was an alternative to J2EE: Spring, as I have already mentioned in my last post.

Then there followed the hype of dynamic languages, first of all Ruby with the web app development extension Rails, which many Java (web) developers turned to. The ones who didn't want to miss everything about the Java platform, chose the "light" version of turning Java the back and got on with JRuby or Groovy.

It wasn't only dynamic languages that prospered on the JVM, but there were also new statically typed languages, such as Scala showing up and getting lots of attention and interest.

The world was just seeking for something new and sexy again - the only common denominator was the JVM as everyone agreed on its great benefits of its write-once-run-anywhere concept.

But then came Google around and used Java just the other way round: GWT and Android both let the developer use Java syntax, but their source code is compiled into something very different than Java bytecode: In the former case its Javascript, in the latter its classfiles for the Dalvik VM - an alternative VM with its own compiler.

So has Suns battle to keep the Java community together failed? Despite of all of the above, I tend to say no. Obviously, the idea of an omnipotent programming language must be given up, but not because Java is bad, but because there simply is no one-size-fits-all in programming. In contrast to .NET, the Java community promotes its own freedom and all the movement in the market is a clear sign that this freedom is used to drive innovation and that things will evolve.

The bad news is that you cannot rest on your knowledge of the Java language - the language itself will change in the upcoming years and there might be different favourable options, depending on the environment that you are working on. So stay informed and don't forget to learn at least one new language per year, before it's too late :-)

Viewing all articles
Browse latest Browse all 42

Trending Articles