Java 1.5 (“Tiger”) Released

Java 1.5 has been released for Solaris, Windows and Linux.

This version of the Java language includes support for generic types, autoboxing, enums, printf, varargs, and more in-code metadata. In the referenced article, each feature is introduced by the relevant stanza of a verse written for the occasion; the quality of the scansion clearly demonstrating that while hackers may be like painters, they certainly aren’t poets. Stick with the original, lads.

This version of the Java platform now has three possible version numbers – the internal version number “1.5”, the generation number, “2” (as in J2SE), and the new version number, “5.0”. Laugh as they try and explain what on earth they were thinking.

9 thoughts on “Java 1.5 (“Tiger”) Released

  1. I tried 1.5 beta to compile my java codes, then I found out “enum” could not be variable name any more. If final release 1.5 has this issue, then 1.5 has big backward compatible issue.

  2. to Alex:
    use a decent IDE (like IDEA or Eclipse) and make a rename. it does not take more than 1 or 2 minutes. next time do not use those words as a variable name. Plus, you an use Java 5 virtual machine in 1.4 compatible mode if you want.

  3. I thought the poems were cleaver and helped to move the article along, but I like corney stuff. Thanks for the link, looks like they are finally tring to incorporate the good stuff from other languages.

  4. Alex, you shouldn’t use reserved word as variable name in the first place. Like what ff said, do a replace and problem solved.

    Anyway, those “exciting new features” sound like a joke to me…

  5. Yeah, the thing is, ‘enum’ wasn’t ever a reserved word, before Java 5.0. goto and const were reserved but not used, but not enum.

    cf. The Java Programming Language, 3rd edition, page 141, Arnold/Gosling.

  6. Alex,

    As any decent Java Developer knows you can decide which format your source code is in. So if you are telling your compiler “here is jdk 1.5 code” then enums are reserved, If you tell it “this is 1.4 (or below) code” then enum is not a reserved word and your code compiles.

    Since you are Obviously a skilled and experienced java developer ;-) I need not tell you, how to indicate that to the compiler…

    btw. same applies to the “assert” keyword introduced in java 1.4, but again you allready knew that ;-)

    Personally I used the 1.5 since the first beta, and throughout their early realease weekly snapshots, and I have been bery pleased. The new language features makes (if used right) the program easier to read and more maintainable, while still being able to run on any 1.4 complient JVM (Yes it is just compiler tricks not JVM changes). ofcourse if you use any of the new API’s then you need to run on a 1,5 jvm..

    but you allready knew this, didn’t you :-))

  7. Jonathan
    It is true that enum was not a reserved word, but using a word very common in a lot of languages as a variable is not a good idea. Plus, still i repeat changing a variable name safely is very easy in advanced IDE’s..

  8. Y’know… GNU Emacs did the same thing with their versioning scheme long ago by taking out the leading “1.”, so Sun definitely aren’t doing something new in that field. ;-)