Programming for all with Processing 1.0
Version 1.0 of Processing, the free visual programming environment for Windows, Linux and Mac OS X, has finally been released to download, after no fewer than 161 previous revisions. A peep at the version history shows why this number is so high: five new versions of Processing have come out since last Saturday alone, each of them with its own serial number.
That's how many small steps the founders of Processing – Ben Fry, Casey Reas, and their team – have taken since 2001 to construct their development environment, which is based on a deliberately simplified version of Java, the powerful object-oriented programming language. Even greenhorn programmers can use it to create on-screen graphics and animations in an intuitively imperative way with a handful of lines, without resorting to any of the confusing superstructure required by object orientation. They can then press a key to export their work as an executable Java binary file or applet. Experienced programmers on the other hand use Processing as a kind of code sketchpad to quickly test algorithms and displays. Programs written this way can then be simply transferred to a "mature" development environment such as Eclipse, and can be expanded with advanced Java components.
Fry and Reas began their project as students at the MIT Media Lab with the ambitious aim of creating a stylistic device that would become a standard tool for creative artists. So Processing possesses special talents for static, animated, and interactive graphics right out of the box. It is now used not only for teaching at art colleges but also by professional graphics designers. Sequences generated with Processing have already been incorporated into music videos by R.E.M. and Radiohead.
Processing is subject to an open source licence, and many of its fans also make their programs, extensions and libraries freely available. More than seventy add-on packages provide functions for image processing, display, sound, and network communications. Even DIY hardware can be persuaded to cooperate via an extension with Processing.
In addition to the language, the development environment and all this extra code, the project web site has collected many examples, comprehensive documentation and tutorials.
* Magnetosphere by Robert Hodgin an example of a Processing application.