Today is 07-07-07, "lucky sevens" day,
fortuitous for weddings and gambling. But for me, it was not a lucky
day. I read the href="http://java.sun.com/javase/6/webnotes/ReleaseNotes.html">Java (TM)
SE 6 Update Release Notes and was overcome with number melancholy.
Here is Dürer's famous engraving “Melancholia”.
On the upper right corner, you see the world's most famous magic
The rows, columns, and diagonals, all add up to the same value. What
could be more pleasing, more regular? Yet the saturnine fellow is not
I am not happy when I read this:
Changes in 1.6.0_02
The full internal version number for this update release is
1.6.0_02-b05 (where "b" means "build"). The external version number is
What signal does this send to the outside world? I think the signal is
“Java is stupid.”
Let's not dwell on the internal numbering. That's an annoyance that
consumers hopefully never see. (It would be nice to have a href="http://java.sun.com/javase/6/docs/api/java/lang/System.html#getProperties()">system
property that enables us to report the “external version
number” to the consumer without parsing the java.version
First off, I fervently hope that the correct external version number is
actually 6u2 and not 6u05. I think that was just a typo in the release
notes. If not, someone take me away right now...
But that's not my main gripe. Can we get rid of the crazy
“u” notation and the “update” term? These are not
terms that consumer will readily understand. Whenever my students go to
download a Java JDK or JRE and see “update”, they think it is
like a Windows service pack and hunt for the base version.
Why not call these versions 6.01 and 6.02? That's something a consumer
I am so glad we finally got rid of the Java 2 version 1.x.0 nonsense.
Could we now go all the way to normal, boring, meaningful version numbers?