Oracle has made some decisions about Java: in order to release JDK 7 in the middle of next year, they have decided to change priorities and specifically, postpone three features: Jigsaw, Lambda and Coin.
From the linked article: “Jigsaw is an effort to make Java more modular, while Project Lambda aims to bring closures to Java, and Project Coin is an effort to make small changes to Java’s behavior and syntax.”
Although none of these, with the exception of closures, really speak to me (and Java is the language I earn a living with…), my personal feeling is summed up in the first question that came to my mind: why postpone features so that JDK 7 can get out of the pipes fast (i.e. 2011) and still have them in JDK 8 which is planned to be released in 2012?
In my eyes, Java is just fine as it is since it has always served any purposes I’ve ever had in my professional projects. I’ve always felt the language was overhyped for a long time, now it’s threatened by the likes of Ruby, Lisp or Smalltalk. I feel like the way Java is either glorified or decried isn’t how a language should be treated. I guess you can’t fight the tides of progress. But keeping the final product consistent with the feature set until release time looks preferable to removing features, including the drastic change and power Lambda will bring into Java. Especially when the latest release is three months short of being four years old.
The ironic thing is that the “modularization” and “developer productivity” sections still list projects Jigsaw and Coin amongst the key features on Oracle’s own website.