Quick summary
Processing is a free, open-source toolkit combining a graphical library with a lightweight integrated development environment. It was created to help artists, designers, and other non-programmers explore programming concepts through visual projects. The environment is Java-based with abstractions that simplify math and graphical operations, and it includes a graphical interface to make getting started easier.
Roots and original goals
The project began in 2002, initiated by Casey Reas and Ben Fry while they were part of the Aesthetics and Computation Group at the MIT Media Lab. Their objective was to lower the barrier to programming by using visual approaches, encouraging creative experimentation and improving computational literacy among people outside of traditional software development.
Project organization and extensions
Processing organizes work around a simple “sketchbook” model — a pared-down workspace that keeps projects and examples easy to manage. That core is expandable through a large ecosystem of extensions and libraries that add new capabilities and accelerate development.
- Advanced 3D geometry and rendering toolkits
- Multimedia support for audio, video, and images
- Data-visualization modules and charting helpers
- Hardware interaction libraries for sensors and microcontrollers
Tools that speed up sketching
The environment also includes small utilities that make creating and managing sketches more convenient, and community-contributed tools further smooth the workflow.
- Built-in archive and duplication options to back up sketches
- A color picker and font chooser for quick visual adjustments
- Helpers for exporting projects and packaging assets
- Convenience tools such as code snippets and example loaders
Strengths and practical limits
Processing excels at rapid prototyping and proof-of-concept visual experiments, shortening the time between an idea and a running sketch. For small-to-medium projects and educational use it’s an excellent choice.
However, as projects grow in size or complexity, performance can become an issue: large numbers of assets and complicated code can slow the environment. The tool’s error reporting is limited to compiler messages, and there is no built-in debugger, which can make diagnosing runtime problems and speeding up development cycles more difficult.
Alternatives to consider
- Eclipse — a more fully featured IDE that scales better for complex applications and larger codebases
- TuxMath (free) — noted as another free option mentioned alongside Processing, though it serves a different purpose and audience
Technical
- Windows
- Mac
- Chinese (Simplified)
- German
- English
- Spanish
- French
- Italian
- Japanese
- Polish
- Free