There are several very nice new features in Java 7, and a couple little tidy ups that will have a big impact on my day to day development such as not having to duplicate generic declarations everywhere. The new NIO features and concurrency enhancements are great however closures are once again out, and the try with resources enhancement promised to be oh so nice looks ugly! (and yes, aesthetics count! they effect readability and maintainability of code.. ie the final cost of the product).
Java is a fantastic language, however it now has so much weight on its shoulders that it changes slowly and the pressure for backwards compliance (which they have done a fantastic job with) is resulting in syntax that is messy and painful to read. Specifically I refer to Generics, the new try with resources syntax and most of the closure proposals. It is with little wonder that we are now seeing a wealth of languages pop up on the JVM, they are now where the new language features and experiments are occurring (i.e. Scala, Groovy, Closure and Ceylon). As Java becomes increasingly adopted as the language of choice for business, so its rate of innovation is dropping.
Thanks for your blog! I’ve just subscribed to it.
ReplyDelete