We closed this forum 18 June 2010. It has served us well since 2005 as the ALPHA forum did before it from 2002 to 2005. New discussions are ongoing at the new URL http://forum.processing.org. You'll need to sign up and get a new user account. We're sorry about that inconvenience, but we think it's better in the long run. The content on this forum will remain online.
Page Index Toggle Pages: 1
Java 6 (Read 3044 times)
Java 6
Dec 11th, 2006, 8:15pm
 
Well, it's just about here -- shudder -- a new Java.

http://www.infoworld.com/article/06/12/11/HNmultilingualjava_1.html

Now, I know the FAQ has some choice words about this very moment and what's likely to happen to Processing in terms of performance and compatibility. One thing that always confused me is why Java 5 is so bad in the first place. I can certainly verify that virtually everything in Java 5 runs slower than Java 2 -- not just Processing, but other code, as well. Is it just bloat? Is this likely to continue to get worse? Any hope of increased community input in general at Sun and the GPLed dev tools making the situation better?

Officially, Java 6 is also the only version certified for Vista, though presumably you can try to run 1.4 under the new OS.

Any thoughts from the developers on what this will probably mean? (Gulp.)
Re: Java 6
Reply #1 - Dec 12th, 2006, 3:15pm
 
re: why is java 1.5 bad, you kinda answered your own question, right? it's bloated and runs slow?

but the broader issue is the number of quirks it introduces, and the range of testing that needs to happen for it. search the forum for the number of random bugs that came up as a result of using 1.5.

re: 1.6 in particular, this only semi-facetious rant still holds true:
http://processing.org/reference/environment/platforms.html#java

i would rather that sun stop trying to compete with windows, and fix really basic things like 1) fast startup in browsers 2) distribution and 3) runtime speed. supposedly 1.6 is faster, maybe it'll be super great, i derno. but i'll still mostly be waiting until a broad number of our mac users have it.

re: the open source thing:
http://processing.org/discourse/yabb_beta/YaBB.cgi?board=Collaboration;action=display;num=1163429241

but as a general issue, it's just hell to test all these different pieces--too many moving parts: java 1.3, 1.4, 1.5, 1.6.. win2k/xp/vista.. osx 10.3/10.4.. redhat/ubuntu.. single or dual processor machines.. the different versions of java cause the greatest mess out of all that stuff, and based on their track record with the previous releases, i'm not optimistic Wink
Re: Java 6
Reply #2 - 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.

The Mac issue seems to me to come from Apple; there's an interesting discussion here:

http://weblogs.java.net/blog/joconner/archive/2006/11/java_se_6_on_ma.html

... which at least suggests 1.6 is making headway on Mac. I've personally switched to Windows for all my Processing stuff just because JRE seems to run so much faster. And, yeah, I'm sticking with 1.4.2 for now. I'll at least try it under Vista (not that I expect to switch to that, either, any time soon). It probably works once you edit a couple of Registry lines to turn off some random useless "security" feature designed to prevent it from running. Wink

But, yes -- total nightmare. The idea of Java forking may not sound like a great way to make things better, but it does make me wonder if people will take the open source stuff and build a multimedia-savvy Java that tries to solve these issues. Then again, since the fundamental problem is having too many versions, that doesn't really resolve the problem.
Re: Java 6
Reply #3 - Dec 12th, 2006, 6:53pm
 
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 Wink
Re: Java 6
Reply #4 - Dec 12th, 2006, 7:08pm
 
Thanks, Ben. That makes complete sense, and I'm of course aware of the limitations on your time(!) If I knew what I was doing, I'd try to squash bugs; at this point I can only test on different platforms and watch what happens.

I'm blown away by the number of stats with legacy or nonexistent Java. That's wild; thanks for sharing that. I have to start collecting stats on my servers.

To me, philosophically speaking, supporting 1.4 / 1.5 / 1.6 still makes sense, so I would be happy if you and Casey went that direction. I suppose some of that may be people running on work computers with antiquated IT installs; there does seem to be a disconnect there I've seen in stats.  And, not that this is really comparable to Flash, but you see a lot of Flash deployment for art sort of stuff that is going Flash 8 or even Flash 9-only, even though that player was only just released out of beta.

At this point, I'm happy with 1.4 + Processing, and I'll keep, um, educating myself so that someday I can make myself more useful. Smiley
Re: Java 6
Reply #5 - Dec 12th, 2006, 7:33pm
 
In the pro column, support for the javax.script package in processing would be really nice.
Re: Java 6
Reply #6 - Dec 12th, 2006, 9:24pm
 
max wrote on Dec 12th, 2006, 7:33pm:
In the pro column, support for the javax.script package in processing would be really nice.

so long as it doesn't use post-1.4 syntax, you can use java 1.6 to run processing (use the windows version that doesn't include java, or symlink the 1.6 install on linux), then import javax.script and use it all you'd like. on the mac just mess with Info.plist to use the newer release, and set your default jvm to 1.6 or 1.5 or whatever.

this is the case for *any* post-1.4 feature, it's simply that 1) post-1.4 syntax won't work and 2) we don't recommend it, and won't give much attention to bugs specific to those later releases are a very low priority.
Page Index Toggle Pages: 1