Processing is a programming environment for beginners interested in doing interactive graphics in Java. The website says that:


Processing is a context for exploring the emerging conceptual space enabled by electronic media. It is an environment for learning the fundamentals of computer programming within the context of the electronic arts and it is an electronic sketchbook for developing ideas.

which sounds rather grand. Technically speaking, Processing is Java plus a cute, easy IDE that lets you do everything that is necessary with a minimum of fuss, plus a very sweet graphics library called bagel that is similar to OpenGL but is not based on OpenGL.

Processing has a small but very active community of users, and an excellent website at http://www.proce55ing.net/ - notice that those are fives, not S letters.

The development of Processing rests on the shoulders of Casey Reas and Ben Fry, and most of the work has been done at the MIT and Interaction Design Institute Ivrea.

Processing is a programming language designed to be easy to learn and quick for knocking up simple programs which explore particular graphical and mathematical ideas. Its creation was motivated in large part by a desire to help more people from an arts background to understand the fundamentals of programming.

I called it a programming language there for want of a better label, but it's more accurate to say that Processing is a dialect of Java, an IDE for developing in that dialect, and a community of people working and playing in it.

The language is exceptionally simple, taking care of many things for you by default, like animation functions and mouse interaction. This is in contrast to the full weight of Java, which tends to take many lines of code to achieve even the most basic task. However, for all its simplicity, there is a great deal that can be achieved with it - especially once you start pulling in some of the many libraries that have been written for Processing. If you do want to do things that you can't manage within Processing itself, it is also straightforward to incorporate all of its features in a Java applet or application using what's called a PApplet object.

The IDE is again very straightforward, with only rather basic editing tools. As with the language itself, the idea is clearly to present a relatively minimal set of features in order to keep things obvious and avoid overwhelming people who are either new to programming or just want to quickly create small programs which work straight away. I've never yet missed the massive set of additional features found in full-on IDEs like Eclipse, but I am aware that there are plugins for that and probably other IDEs for those who want them.

The focus of Processing was always twofold: Teaching creative people to program, and doing creative things with code. I think the educational side of it has huge potential - my belief is that everyone should be exposed to basic programming concepts at school, and many adults would benefit from an awareness of them, too. Quite a few mathematical ideas seem to be much easier to grasp if you can play with them in a hands-on way, and if you're putting together things like web sites, a bit of fundamental programming knowledge can be a great asset.

It's the practical side of Processing that has garnered the most attention, though. Hundreds of people have done lots of rather interesting things with it, including both those who had never programmed before they were exposed to Processing, and those with a programming background who appreciate how easy it is to get a new programming idea up and running. It takes remarkably little to put together mathematical animations, and even the 3D functions are in easy reach of people who are still pretty new to this sort of thing. The libraries also make it relatively easy to work with video, sound and hobby electronics kits like the Arduino board.

The community based around the 'Discourse' board on the Processing site is quite active and usually very helpful, politely dealing questions of many levels of sophistication and providing place to show off and get feedback on your 'sketches', as Processing projects are called. Outside of the official website there are various other sites tracking people's work in the language - the 'Processing Blogs' aggregator run by one-time noder Tom Carden, the 'OpenProcessing' exhibition page, and active groups on Flickr, Vimeo and elsewhere. Processing itself is open source, under the GPL, and by default exported applets come with the code used to generate them, encouraging a culture of code-sharing that provides a huge body of work to learn from. All this stuff is linked from the front page of Processing.org, so I'll leave you to find it there if you're interested.

Processing finally declared itself out of beta last week, with Processing 1.0 released on November 24, 2008. The Processing Development Environment, along with all the other stuff I've talked about here, is available for Windows, Mac and Linux from the official site at http://processing.org . My own Processing sketches are all up at http://oolong.co.uk/play .

Log in or registerto write something here or to contact authors.