peterkirn wrote on Dec 12th, 2006, 4:54pm:I agree; the combinatorics of all these different versions is insane. It seems like moving conservatively is the best response.
it's not so much that i *want* to move conservatively, but it's simply a matter of necessity. if i'm the only guy testing and fixing bugs for all that stuff (i am, for this type of issue), the combinatorics mean that my apartment is quite a sight (it is) with machines all over the place in these various configurations (they are).
since the other thing that's gonna come up in this thread is the numbers, here are some quick stats on java adoption:
for users visiting the processing site, the breakdown on java versions is:
Java 1.1 - 5%
Java 1.3 - 1%
Java 1.4 - 14%
Java 1.5 - 79%
Java 1.6 - 1%
it looks like enough people on osx are finally using 10.4 that 1.5 is doing much better these days.
however, a more generic audience, as polled from my project at http://zipdecode.com tells a very different story. this is the one i use as my benchmark:
No Java - 14% (ouch!)
Java 1.1 - 13% (ouch! ouch!)
Java 1.3 - 0%
Java 1.4 - 11%
Java 1.5 - 61%
Java 1.6 - 0%
basically the skew between the people developing with p5 is *way* different than their audience on the web.
casey and i have been discussing Java versions recently, and things look to be headed this direction:
+ deciding that Java 1.1 will be dropped altogether (goodbye 15% of my audience at that other page). our intent was to bring it back, but without additional help, it seems silly to hold back, and bloat processing.core.* with a lot of reflection code to handle cases where 1.1 is not installed.
+ Java 1.3 could go away too, this is tempting.. i think Java 1.3 was actually quite good, but since few people are using it, losing < 1% isn't much of an issue.
+ Java 1.4 will remain the primary target, and what's included with the download. hrm, or maybe we'd even include 1.5, who knows. this would mean getting rid of still more reflection code, and being able to definitively say that we support image i/o for things like png, tif, etc.
+ Java 1.5 will be supported more officially, whatever that means. we're finally (as of the last few months or so) at a point where 1.5 has stabilized on both OS X and Windows, and the initial quirks are mostly gone. *however* supporting 1.5-specific language constructs (HashMap<Integer> and friends) is significant work, which would have to come later, barring anyone providing me help on this.
+ Java 1.6 won't be getting any attention until 1) it's the default download for the JRE at sun's http://java.com, and 2) apple gets around to release a final version of Java 1.6.
in summary, the main thing here is simply a balance of the audience (what java is actually running on a large percent of machines) and my time (which is finite). i might like to make fun of other versions of java, or apple and sun's implementation of them, but that's simply a way for me to cope with the frustration of ironing out these issues across our combinatoric platorm mess. it has nothing to do with whether i like one version of java or another, but has everything to do with what i have time for. for people who want to see "support" for one feature or another, i ask that you contribute and get involved to help test and fix these things. the merits of one version, one feature, whatever can be argued, but the amount of time i have cannot