Java should be renamed when Java 8 is finalized.
It should be renamed with every major release.
Java has an undeservedly bad reputation among hipster developers. It's undeserved but I know where it comes from: a long legacy and an admittedly miserable history of wickedly over-engineered design spasms known as "enterprise software."
But those who avoided the enterprise taint of Java—those of us who always clicked
Java SE instead of
Java EE when downloading a JDK from Sun—see Java as something quite different. Yes, the language has evolved slowly, but it's
not encumbered by the volume of cruft outsiders think.
Part of the reason Java fares poorly in the public opinion is that the Internet grew up with Java and is still littered with thousands if not millions of articles about Java that are better suited to a computer history museum or a classic computing forum.
An outsider looking for modern best practices for Java has a hard time because of this abysmal signal to noise ratio.
Say you're designing an application that requires a 10 gigabyte virtual machine and want to know how to tune the memory configuration. So you ask the Googletron about
Java large virtual machine memory settings
.
Try it.
The Googlematic comes back with (I am not making this up!) an article from 1999 suggesting that you try these command line parameters:
java -Xms32m -Xmx128m MyClassName128m! That's like one hundred and thirty four million bytes. It's certainly more bytes than I can count. That's
large.
And I don't even know what some of the other results are. Looks like some IBM WebSphere configuration, JVM tuning for Caucho Resin 3.0, Netbeans tuning for 32MB VMs, and something called Gemstone that suggests a 1 gigabyte VM. One whole gigabyte! Whoa now.
Things do improve marginally if you clarify the query with the phrase "Java 7" (but be sure to put it into quotes).
Java versions should be named
The following software systems are doing versioning right.
Mac OS X:
- Cheetah
- Puma
- Jaguar
- ... Mountain Lion
Android:
- Cupcake
- Donut
- Eclair
- ... Jelly Bean
Ubuntu:
- Warty Warthog
- Hoary Hedgehog
- Breezy Badger
- ... Raring Ringtail
The Ubuntu names are especially clever. They are essentially
passphrases for the versions. If you search for troubleshooting
nVidia drivers on Raring Ringtail, the results are
absolutely on target. You don't even need to include the word "Ubuntu."
Applying the same to Java would quickly help cut the crufty feeling for outsiders.
One last plea
Oh, and if I get my wish and Java were to adopt version names, I have another final plea.
Please, for the love of Gosling, don't make the names have anything to do with coffee. I am so, so very, so completely, so over the coffee puns.