Re: JDK version popularity
On Mar 22, 12:15 pm, Nathan <nathan.f...@gmail.com> wrote:
Sigh... forgive my imperfect wording. I did mean the JRE being
targeted, not the JDK - apologies.
For a Java component developer it is useful information to know which
JRE version is commonly targeted. I am aware that a lot of developers
are working with 1.5 now. I am mostly curious about how many have
switched to 1.6 already.
This depends heavily on the target platform. The statistics for the
Java plugin are available at
which I found via
These guys assert that in February, 2010, roughly 64% of browsers have
Java 6, roughly 12.5% have Java 5, nearly 20% were unknown, and the
other nearly 4% had Java 1.4 or earlier. This is consistent with the
fact that Java 5 is about five-and-a-half years old and all version
from Java 5 on back have passed their End-of-Service-Life periods, and
the fact that for browsers it's both relatively easy to stay current
with Java and relatively common for people to stay current with their
The application market will be significantly different, as will the
server market. Unfortunately, my google-fu was not strong enough to
find those numbers on your behalf within the time I was willing to
devote to your question. Perhaps your search will yield better
Bear in mind that if you are developing an application, it's pretty
easy to insist that users have the current version of Java. In that
scenario I'd use JDK 6 to develop for Java 5, because nearly six years
is far too generous an allowance for obsolescence but I'm just that
nice and because Java 6 runs Java 5 code just fine.
Servers are tied to the Java versions and vendors supplied with the
servers. Enterprises upgrade slowly; many are still on Java 1.4, and
not necessarily from Sun (Oracle). My personal observation is that
those are far fewer as more enterprises have moved to Java 5 over the
last two years or so. Were I developing a server-side product, I'd
feel safe targeting Java 5.
Fortunately application servers have introduced value-added features
in their recent offerings that use Java 5 and later. It is the value-
adds (distributed object caches, operations consoles and the like)
that entice their customers to upgrade to the newer servers, and
incidentally thereby to newer Java.
There are significant advantages of Java 5 over earlier versions.
Java 6 improves the platform further, but not as dramatically. It's
not only generics, but the memory model, the APIs, the debugger hooks
and other areas that make modern Java so much better than hoary old
I will not speak of Java ME, about which I know little.
Bottom line: If I were in your shoes, my feet would hurt. Er, kidding
aside, I'd target Java 5 at a minimum.