Java 7, this is it?

Original post can be found at It-Eye

Java 7 was released, so I gave it a spin to see what kind of improvements were made. While testing some new features I went online to look for not so obvious changes as well. Here is a short list of the new features and improvements in Java 7.

  • Strings in switch
  • try-with-resources statement
  • More precise rethrow
  • Multi-catch
  • Binary integral literals
  • Underscores in numeric literals
  • Improved type inference for generic instance creation
  • More new I/O APIs for the Java platform (NIO.2)
  • Support for dynamic languages
  • Better multicore and parallelism support

The list is not that big but still it has some handy improvements. Looking at the list it struck me: How long have I been using Java 6? Looking at the table below you can see that Java has been updated every year or two but the gap between Java 6 and 7 is five years.

Version Release Date
Java 1.0 1996
Java 1.1 1997
Java 1.2 1998
Java 1.3 2000
Java 1.4 2002
Java 5 2004
Java 6 2006
Java 7 2011
Java 8 2012

Time does not tell the whole story but looking at the time frame of five years it took to release Java 7 and the feature/improvement list it makes me say “This is it?” Sure Java 6 has been updated a lot but still it doesn’t fit. We all talk about Agile, iterative development and try to convince people how it improves software but when we need to improve a programming language we throw everything over board. But not all is lost, if you look at the table you can see that Java 8 is scheduled for 2012. So let me be optimistic and believe that this was just a hick up in the Java improvement process.

I am looking forward to Java 8.