From: Nathan on
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.

Nathan
From: Lew on
On Mar 22, 12:15 pm, Nathan <nathan.f...(a)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
<http://www.statowl.com/java.php>
which I found via
<http://www.google.com/search?hl=en&q=Java+version+statistics>

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
browser versions.

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
results.

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
1.4.

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.

--
Lew
From: Thomas Pornin on
According to Lew <lew(a)lewscanon.com>:
> relatively common for people to stay current with their browser versions.

I wish it was more common. According to both what can be seen on:
http://gs.statcounter.com/
and what we observe at my work on our corporate website, about 11%
of clients still use IE 6, which is far from "current", unless the
client uses Windows 2000 (which cannot have IE 7 or 8). The OS stats
on the same web page rank Windows 2000 at less than 1% of all accesses
(it is in the "other OS" pack, and no higher than Linux). This means
that about 10% of Web users:
-- use a Windows XP which came with IE 6.0 (i.e. one from before
early 2007);
-- have not updated their browser version for the last three years.

It would seem bold to assume that post-2007 Windows users are dutiful
updaters. I would rather assume that at least one third of all Web users
do _not_ "stay current" with their browser versions.

Of course, browser version and JVM version are not the same thing, but I
think that whoever resisted the zealous nagging of Windows for updates
is likely to have resisted the similar hints from the JVM.


--Thomas Pornin
From: Lew on
On Mar 22, 1:52 pm, Thomas Pornin <por...(a)bolet.org> wrote:
> According to Lew  <l...(a)lewscanon.com>:
>
> > relatively common for people to stay current with their browser versions.
>
> I wish it was more common. According to both what can be seen on:
>    http://gs.statcounter.com/
> and what we observe at my work on our corporate website, about 11%
> of clients still use IE 6, which is far from "current", unless the
> client uses Windows 2000 (which cannot have IE 7 or 8). The OS stats
> on the same web page rank Windows 2000 at less than 1% of all accesses
> (it is in the "other OS" pack, and no higher than Linux). This means
> that about 10% of Web users:
>  -- use a Windows XP which came with IE 6.0 (i.e. one from before
>     early 2007);
>  -- have not updated their browser version for the last three years.
>
> It would seem bold to assume that post-2007 Windows users are dutiful
> updaters. I would rather assume that at least one third of all Web users
> do _not_ "stay current" with their browser versions.
>
> Of course, browser version and JVM version are not the same thing, but I
> think that whoever resisted the zealous nagging of Windows for updates
> is likely to have resisted the similar hints from the JVM.

11% isn't quite enough to deter me from targeting Java 5, were I
developing for the plugin, particularly since Java WebStart lets one
automate the Java upgrade for the user. If half the folks among that
11% saw enough value in my product to upgrade their Java, that gives
roughly 95% of the available market able to use my product.

Using the real numbers from <http://www.statowl.com/java.php>, and
even assuming that the 20$ unknown are all on Java 1.4 or earlier, an
assumption I should challenge, there's still 75% of the market who can
run my Java 5 product even if they refuse to upgrade.

If half the unknown are already at least on Java 5, and half the rest
would accept an upgrade, that's about 87% of the market.

So for the Java plugin, I deem it safe to target Java 5.

--
Lew
From: Roedy Green on
On Mon, 22 Mar 2010 11:16:17 -0700 (PDT), Lew <lew(a)lewscanon.com>
wrote, quoted or indirectly quoted someone who said :

>
>11% isn't quite enough to deter me from targeting Java 5, were I
>developing for the plugin, particularly since Java WebStart lets one
>automate the Java upgrade for the user. If half the folks among that
>11% saw enough value in my product to upgrade their Java, that gives
>roughly 95% of the available market able to use my product.

Java 1.5 gives you generics. That is quite a bit to give up. Java
1.6 gives you annotations. That is not so hard to give up.

My rule of thumb is to make new Applets run on 1.5, unless they are so
simple I can take them back even earlier, but desktop apps designed to
be run by programmers run on 1.6.
--
Roedy Green Canadian Mind Products
http://mindprod.com

Responsible Development is the style of development I aspire to now. It can be summarized by answering the question, �How would I develop if it were my money?� I�m amazed how many theoretical arguments evaporate when faced with this question.
~ Kent Beck (born: 1961 age: 49) , evangelist for extreme programming.