King Java’s dead – long live the King? Or: Do we need a next big thing at all?

The Java world seems to quite disappointed about the fact that the language will not evolve as fast any more as it used to. Java 7 will ship a whole lot later than expected, and most of the really “desired” features of it will now be part of a newly born Java 8 release that will not ship before mid-2012.

But I don’t think this is very surprising. Java today is regarded as THE platform for everybody. Oracle is trying to make it everybody’s darling by nailing feature over feature onto it. Since most of the newer features are aimed at overcoming the most painful restrictions of a static type system, some of the proposed syntax extensions turn Java sourcecode into a nightmare stuffed with braced constructs. The addition of closures will bring in a lot of power and expressiveness of sourcecode – at the cost of new syntactic constructs that bloat the language and make the code harder to read.

So Java projects will soon be faced with the same problems as C++ projects: in order to keep their code maintainable, they’ll have to set up rules on which language features not to use – even if they would be helpful.