fry
|
Re: processing.js
Reply #16 - May 12th, 2008, 4:09pm
I think it's kinda hilarious, and it's great that he's done it.
It's very much where Processing was when we first started--though we always had 3D and fast pixel operations, both of which were very important. But it's exciting to think that JavaScript (or "LiveScript".. I wish they didn't change the @#$(* name) can 1) do this now and 2) be better at it in the future.
[ Though as an aside, I do take exception with the idea that Processing "pegs your CPU" or goes max frame rate. The hilarious part is that Javscript would somehow seem more efficient than Java (or use less CPU). Umm, no. The upper bound of frameRate is pegged at 60 fps, and you can always set it lower for more CPU. Or you can use noLoop(), which essentially appears to be the default for processing.js... ]
As described in the "Why Java" part of the FAQ, using Java is a tradeoff of several of the goals we had for the project. Now that other platforms/languages/environments are becoming more viable for this sort of thing (e.g. you don't *always* need the max performance) it's fun to see JavaScript, Python, Ruby implementations of the same thing. It's exciting/humbling to have people using our API too.
I think we'd happily dispense with Java if there were a viable alternative. (It's not as though Sun has given us any support, etc.) But as of now, for the type of things that we want to do (As defined by the sort of things you see in Casey and I's work, or the projects we link to in the exhibition), there isn't really an alternative. Here's to hoping that, as mflux says, Sun fixes their damn platform.. Or that something better than Java comes along.
And on another point--this sort of thing makes future directions for Processing potentially easier. Casey and I have spent a lot of time discussing how we maintain our "beginner" audience (straightforward 2D stuff.. the first half of the Processing book) while also addressing our "advanced" audience (some of what you see in the exhibition). Other ways to use the API like this could make our decision easier.
|