Reference articles on history, science, culture and more
Encyclopedia

Processing

Free graphics library

Processing is a graphics library and integrated development environment (IDE) built for the electronic arts, new media art, and visual design communities with the purpose of teaching non-programmers the fundamentals of computer programming in a visual context. It is free and open-source software released under a GNU General Public License (GPL) and a GNU Lesser General Public License (LGPL).

Processing uses the Java programming language, with added simplifications such as added classes and aliased mathematical functions and operations. It also provides a graphical user interface to simplify the compiling and executing stage.

The Processing language and IDE are the precursor to other projects including Arduino and Wiring.

01History

The project was begun in 2001 by Casey Reas and Ben Fry, both formerly of the Aesthetics and Computation Group at the MIT Media Lab. In 2012, they founded the Processing Foundation along with Daniel Shiffman, who joined as a third project lead. Johanna Hedva joined the Foundation in 2014 as Director of Advocacy.

Originally, Processing had used the domain name proce55ing.net, in leet spelling, because the name processing was taken; Reas and Fry eventually acquired the domain processing.org and moved the project to it in 2004. While the original name had a combination of letters and numbers, it was always officially referred to as processing, but the abbreviated term p5 is still used occasionally (e.g., in "p5.js") in reference to the old domain name.

In 2012 the Processing Foundation was established and received 501(c)(3) nonprofit status, supporting the community around the tools and ideas that started with the Processing Project. The foundation encourages people around the world to meet annually in local events called Processing Community Day.

p5.js Logo
p5.js Logo

02Features

Processing IDE
Screenshot of Processing's integrated development environment.
Stable release4.3 / July 26, 2023 (2023-07-26)
Written inJava, GLSL, JavaScript
Operating systemCross-platform
TypeIntegrated development environment
Websiteprocessing.org
Repository

Processing includes a sketchbook, a minimal alternative to an integrated development environment (IDE) for organizing projects.

Every Processing sketch is actually a subclass of the PApplet Java class (formerly a subclass of Java's built-in Applet) which implements most of the Processing language's features.

When programming in Processing, all added classes defined will be treated as inner classes when the code is translated into pure Java before compiling. This means that the use of static variables and methods in classes is prohibited unless Processing is explicitly told to code in pure Java mode.

Processing also allows for users to create their own classes within the PApplet sketch. This allows for complex data types that can include any number of arguments and avoids the limitations of solely using standard data types such as: int (integer), char (character), float (real number), and color (RGB, RGBA, hex).

03Examples

The simplest possible version of a "Hello, world" program in Processing is:

// This prints "Hello World." to the IDE console. println("Hello World.");

However, due to the more visually oriented nature of Processing, the following code is a better example of the look and feel of the language.

// Hello mouse. void setup() { size(400, 400); stroke(255); background(192, 64, 0); } void draw() { line(150, 25, mouseX, mouseY); }

04Awards

In 2005 Reas and Fry won the Golden Nica award from Ars Electronica in its Net Vision category for their work on Processing.

Ben Fry won the 2011 National Design Award given by the Smithsonian Cooper-Hewitt National Design Museum in the category of Interaction Design. The award statement says:

"Drawing on a background in graphic design and computer science, Ben Fry pursues a long-held fascination with visualizing data. As Principal of Fathom Information Design in Boston, Fry develops software, printed works, installations, and books that depict and explain topics from the human genome to baseball salaries to the evolution of text documents. With Casey Reas, he founded the Processing Project, an open-source programming environment for teaching computational design and sketching interactive-media software. It provides artists and designers with accessible means of working with code while encouraging engineers and computer scientists to think about design concepts."

05License

Processing's core libraries, the code included in exported applications and applets, is licensed under the GNU Lesser General Public License, allowing users to release their original code with a choice of license.

The IDE is licensed under the GNU General Public License.

07Media

The music video for "House of Cards" by Radiohead was created using Processing combined with data from lidar technology, along with using acrylic glass and mirrors to create scenes in which the image appears distorted, partially disappears, or disintegrate as if being carried by wind. The textile artist Libs Elliott uses Processing to design partly randomised geometric quilts. Processing has also been used to create illustrations for publications such as Nature and The New York Times, to output sculptures for gallery exhibitions, to control huge video walls and to knit sweaters.

Watch videos about ProcessingExplainers and documentaries on YouTube (opens in a new tab)

Sources and credits

This article is adapted from the Wikipedia article Processing, written by its contributors and licensed under CC BY-SA 4.0. Fathomly has changed the layout, removed citation markers, navigation and maintenance notices, and adjusted punctuation. This adapted version is shared under the same license. For references, see the original article.

Images, from Wikimedia Commons:

Fathomly is not affiliated with or endorsed by the Wikimedia Foundation. Spotted a problem? Tell us.