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.
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.
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...
In practice, Processing is by far the best thing going for creating interactive ad hoc visualizations. Fluency in processing imparts enormous viz power. It is really liberating. I pretty much only write Java when I do Processing (and some Pig stuff), and I don't mind it at all - despite not loving Java.
Using a JVM is a huge advantage because you can embed your applets in web pages and interact with the rest of the page via JS. Jython would be cool.
Processing : Viz as Perl : CSV