

Pyprocessing: Processing without Java. - vicehead
http://code.google.com/p/pyprocessing/
Easier to get started and less buggier than ruby-processing and clj-processing.
======
ggchappell
Looks nice.

Also, it might need to be pointed out that we already have Processing without
Java: processing.js.

<http://processingjs.org/>

~~~
vicehead
Which is uselessly slow on anything other than webkit.

~~~
catch23
runs great in V8

~~~
RyanMcGreal
Webkit + V8 = Chrome.

~~~
catch23
I assume he was talking about the javascript engine in Safari since the webkit
project downloads includes the squirrelfish js engine.

------
daeken
On a related note, I was without internet for a bit and decided to write a
Processing-esque library for .NET (specifically, it's Boo). I haven't touched
it in a while, but someone may be interested in doing something with it:
<http://trac2.assembla.com/livingcanvas/browser/trunk>

------
thesnark
What about NodeBox? <http://nodebox.net>

~~~
vicehead
Not cross platform.

~~~
evgen
Nodebox 2 is cross-platform [<http://beta.nodebox.net>]. Unfortunately, IMHO,
they achieved this by going with Java as the base and changing the scripting
engine to use Jython.

~~~
fdb
As one of the people behind NodeBox, I'd love to know why you think this is
unfortunate. We have been working hard on an application that runs on Windows,
Linux and Mac, and a blanket statement like "unfortunately Java" is a bit
frustrating.

As graphic designers we are really sensitive to awkward Java applications that
look out of place on Mac or Windows. We are trying to find the right look that
works on every platform. We discovered that this has more to do with an
attention to detail than the underlying technology. As an example, look at a
"Mac-like" application iTunes, iPhoto, iCal or Garageband: none of them use
the standard aqua buttons in the main interface, instead opting for custom
bitmap buttons.

For us, the choices are really down to Qt or Java. We need a solid graphics
layer that provides the same results on every platform. Java's 2d graphics
does this, and it has native back-ends (Quartz). Also, by using Java, we can
speed up a lot of the Python code without resorting to hunting memory bugs in
C++.

Lastly, I discovered at Pycon 2009 that Jython really has become a first-class
citizen, officially supported by people like Guido. It also does away with the
GIL.

I knew the Java argument would come up eventually: I'm surprised it took so
long. However, it doesn't come up with people using the software: our users
don't realize/care that we use Jython. Instead they're just happy they can use
NodeBox on Windows.

------
sophacles
So I like this idea, the project looks pretty cool, but the name...

Wasn't it already taken by a project that jnoller forked into multiprocessing?
I mean, seriously, does no one google project names anymore?

~~~
stevejohnson
Given the API they are mirroring, they couldn't have named it anything else.

~~~
sophacles
They could have followed the processing.js style and named it processing.py

------
middayc
You could call it without JVM. You are not programming ordinary Processing in
Java but ~in~ Processing.

Why is without "Java" a feature. It makes it not run in a browser and I doubt
I could speed-wise make something like this with it. It's made in ordinary
processing (and it runs in a browser).
<http://www.youtube.com/watch?v=aACBSRG5ywM>

I don't object the creation of processing in yet another language. I just
slightly object this title.

~~~
vicehead
Processing is a subset of Java.

For starters, Java and thus by extension processing doesn't allow funargs and
is constrained by it's verbosity. For anything other than basic Sketches, this
is a huge disadvantage for something that claims to be an educational tool.

~~~
ewjordan
First, the nitpick: Processing isn't _quite_ a subset of Java, it actually
both supports full Java syntax (if a tab is named .java, it's processed as a
plain old Java file) and adds a few syntax preprocessings of its own apart
from wrapping everything into a Java class (one example: numbers don't have to
have f at the end to be interpreted as floats).

With that out of the way: it's worth noting that someone put together a Scala
version of Processing, which addresses the lack of functional goodness in Java
while still using the "normal" Processing library (maybe even the
environment?): <http://technically.us/spde/About>

As an educational tool, you could do a lot worse than introducing people to
Java, though, since if they ever plan to work, it's probably what they'll be
stuck coding.

And for all its limitations power-wise, I've seen far better (and far more)
data visualizations come out of Processing than anywhere else (data viz is
probably the #1 use case, since graphic/animation work is made very painless),
so they're clearly doing something right...

~~~
rjurney
Amen. Processing gets out of your way and lets you do great viz.

------
kylemathews
Processing just got more interesting...

