These are the opening lyrics for the album titled Burn by Deep Purple. It is considered to be one of the most underrated albums of the history just because it was the follower of the famous album titled In Rock.
This came up to my mind just after I read End of Service Life statement about Java5 on Sun's site. Java5 was the follower of most popular and widely accepted version of Java 1.4, even today it is still standart JVM used in many places.
I still remember the presentations introducing JavaSE 5, I attended. Actually with JavaSE 1.4 the JVM was already quite mature so JavaSE 5 aimed to make enhancements and to simplfy the language. However, with SE 5 many new features were also released which made this a major version.
I am sure most of you will list annotations, autoboxing, generics, enhanced (for-each) loops, varargs and enums as the major changes. Some may add Scanners, Formatters and Static imports to that list. For most of the Java developers, even using those changes took a long time (may be even later than JavaSE 6 released) because most vendors took it very slow to move to Java 5. Since the JVM stuck at version 1.4 most of these new APIs and enhancements was burried for a long time.
Actually Java 5 also offered more advanced features to the world but since even the simple ones could not have implemented on most projects tied to Java 1.4, the advanced had even less chance.
Java 5 was much more than bringing enums and generics to the language, Java 5 introduced JSR-166; The Executor framework, Concurrent collections, BlockingQueues, Decks, Atomic Variables, ThreadPoolExecutors and more which are all underrated by the end developers (even though most of the servers, frameworks or libraries already using them under the hood). Java 5 was a big major step and even though the vendors took it very slow to migrate, it changed the whole destiny of Java.
Thank you Java 5, although most of us could not make use of you through whole your "Service Life", still we are aware how important it was to have you...