V
vk02720
Egad, no! I should have reiterated Arne's caveat. OTOH, the result is
not entirely unexpected and parallels Arne's (considerable) experience.
Yes, this is confounding; I was sticking with the developer version
numbers:
Indeed, such numbers are almost meaningless, yet strangely fascinating.
Cf <http://www.google.com/intl/en/press/zeitgeist2008/index.html>
Here's a very rough measure of features/version from skimming the Java
1.5 API documentation (J2SE 5.0):
<code>
#!/bin/sh
DIR=/Developer/Documentation/Java/docs
ECHO=/bin/echo
for ((i=0; i<=6; i++)) ; do
${ECHO} -n "Since 1.${i}: "
grep -R "<DD>1.${i}" $DIR/* | wc -l
done
</code>
<console>
$ ./since.sh
Since 1.0: 26
Since 1.1: 89
Since 1.2: 965
Since 1.3: 550
Since 1.4: 1384
Since 1.5: 1321
Since 1.6: 0
</console>
A lot has to do with 1.5 being adopted very late by some popular app
server vendors due to which the customers never adopted 1.5 (even for
their non app server needs). Many companies are also slow to adopt
because of plain ignorance on part of some decision makers who had
"significant investments" building the system and there is "no budget
to take chances and move to newer version" even though risk may not be
that high. Even recompiling and taking advantage of improvements in
JVM for higher releases is still worth it but it is tough to convince
some people.
The distribution % almost looks correct - atleast in the sense that
nearly 50% are using 1.4(or less).
What would be interesting to know is that even for 1.4 how many users
are really using 1.4 new features like regular expressions, NIO,
exception chaining etc, JAXP etc. Some places even the developers are
either not aware or care about newer features.