Processing is excellent and I have used it extensively. I have also used Nodebox, which is something similar but in Python: http://nodebox.net
Most recently however I have switched to using Field. I'm not a huge fan of Java syntax, so being able to write Processing apps in Python/Jython via Field is a big win for me.
This is the kind of thing I read HNN for - stuff I never even knew I needed. Do I understand correctly that Field lets you build graphical representations of your code? Kind of like ... graphical literate programming?
This is where my wife would say "Jézus Mária és minden szentek". It's ... full of stars ...
I had to do a Processing group project course as part of my CS degree.
While it's a nice toolkit for doing very basic visualizations of data, it's a pain in the hole to do anything more advanced than that.
They made us use it to develop a GUI application with text input, buttons, tables, and graphs, in order to visualize some IMDB-style movie ratings data.
Unfortunately it's absolute crap for doing things like that. I basically ended up implementing GTK in it, with widgets rendering to buffers and having a hand-rolled DOM-style event system. I implemented scroll views on my own, and used them to create text input boxes and scrollbars. While I'm personally proud of making it actually work, it was a horrifying experience to do using the really basic tools provided.
The IDE that's included with Processing is also really awful. It can't do indentation correctly, doesn't work at all in tiling window managers, and seems to make people write horrible code. Walking around the labs trying to help people, I found that the vast majority of people's bugs were missing curly braces and things indented wrong simply because of the awfulness of the text editor.
If you want to do anything useful in it, you need to import core.jar into Eclipse (or do it on the command line) and do it in Java. It seems that the processing compiler is really just a small preprocessor over Java that wraps the whole thing in 'public class Main implements PApplet {' and '}' and replaces #FFFFFF with 0xFFFFFF.
I also used processing to make a tetris game (https://github.com/sipefree/setris), which was much easier than doing a GUI application, but I really didn't get any decent drawing performance on non state-of-the-art hardware.
Processing is pretty cool, I messed around with it a while back. Problem is, once you start making complex enough sketches, you hit a point where it would be really useful to have a debugger, and last I checked processing didn't provide that.
I expect you could probably debug it with java tools somehow, but given that I only learned java via processing on a lark, I didn't explore that path.
Most recently however I have switched to using Field. I'm not a huge fan of Java syntax, so being able to write Processing apps in Python/Jython via Field is a big win for me.
http://openendedgroup.com/field
There are lots of features I haven't even touched in Field yet...