Processing is an open source programming language and environment for people who want to program images, animation, and interactions. It is used by students, artists, designers, researchers, and hobbyists for learning, prototyping, and production. It is created to teach fundamentals of computer programming within a visual context and to serve as a software sketchbook and professional production tool. Processing is an alternative to proprietary software tools in the same domain.
Source : http://www.processing.org
I was looking for easiest ways of creating data visualization. Most obvious that comes into our mind is flash. Which is used for most of the visualization on the web. Some people do use it for desktop visualization as well gluing with other languages. I find Prefuse a much better than flash but only for data visualization not for all type of web projects. Flare which is based on actionscript 3, can do visualization like flash and is fast as well.
After trying flare, flash i asked for suggestion of programming language and i found Processing. Processing is perfect for data visualization. You can read some of the sample code from the official site and can figure out it is easy to understand. Processing makes it easy to visualize data. It is based on java and even takes help of java virtual machine. So if you write application on processing it will run on web and desktop as it uses Java runtime. Their official site has lot of interesting videos and demos of processing visualization. If you want to draw abstract and fast animation with code only then processing is for you.
Processing is not suitable for projects if you're project requires too much of customized animation like character and user-action. It is not suitable for GUI based web data visualization as well. You can check their exhibition for the demos. They have forums where you can get help for your code and processing related bugs. Processing also has two fork projects. First one is Processing hardware and another is processing mobile. Both are from processing code-tree but serves different purpose.
If you're interested then do check out official processing page.