
Processing
Processing is a versatile open-source software sketchbook and programming language tailored for creating visual, interactive, and artistic projects. Developed by Casey Reas, Ben Fry, and many others: http://www.processing.org/about/people.html
About Processing
The software is built on the Java programming language but simplifies its syntax and structure, allowing users to focus on creative output rather than complex programming paradigms. Its integrated development environment (IDE) is straightforward and user-friendly, providing a comfortable environment for writing and executing code. Key aspects include:
- Simplified Syntax: Processing's language is designed to be easy to learn and understand, making it ideal for those new to programming.
- Focus on Visuals: Every command and function is geared towards graphical output, whether it's drawing shapes, manipulating images, or creating complex animations.
- Extensive Libraries: Processing boasts a rich collection of built-in functions for drawing, color manipulation, typography, and mathematics. Furthermore, its extensibility is enhanced through numerous community-contributed libraries that add capabilities for handling audio, video, networking, and much more.
- Cross-Platform Compatibility: Processing runs on Windows, macOS, and Linux, ensuring accessibility across different operating systems.
- Community and Education: With a strong global community, ample tutorials, and a focus on educational use, Processing fosters a supportive learning environment.
Processing is not just about creating static images; it excels at building interactive applications. Users can easily incorporate mouse, keyboard, and even webcam input to create responsive digital art and simulations. The ability to export projects as runnable applications or web applets further extends its utility beyond the development environment.
Pros & Cons
Pros
- Excellent for beginners learning to code, especially with a creative focus.
- Strong emphasis on visual feedback and interaction.
- Large and active community with extensive learning resources.
- Wide range of libraries for expanding functionality.
- Cross-platform availability.
Cons
- Can be less performant than lower-level languages for complex 3D or high-performance applications.
- IDE is functional but lacks some features found in more advanced development environments.
What Makes Processing Stand Out
Bridging Code and Art
Specifically designed to teach coding within the context of creating visual art and interactive experiences.
Beginner-Friendly
Its simplified nature makes it highly accessible for individuals with no prior programming experience.
Rapid Prototyping for Visuals
Enables quick experimentation and creation of visual concepts and interactive prototypes.
What can Processing do?
Review
The simplified syntax, while based on Java, feels much less daunting to newcomers. Basic drawing commands, color functions, and animation loops are straightforward and easy to grasp. This allows users to quickly start creating, which is crucial for maintaining motivation when learning a new skill. The integrated development environment (IDE) is clean and functional, providing the necessary tools without overwhelming the user with complexity. Writing code, running sketches (Processing programs), and viewing the output are all seamlessly integrated.
One of Processing's most significant advantages is its extensive library of functions and the vast ecosystem of community-contributed libraries. The built-in graphics primitives are comprehensive, allowing for the creation of a wide range of static and dynamic visuals. Beyond the basics, the availability of libraries for everything from advanced 3D graphics to data visualization, audio manipulation, and even computer vision expands the possibilities exponentially. This extensibility means that as users grow in their programming skills, Processing can grow with them, supporting increasingly complex and ambitious projects.
The interactive capabilities of Processing are also a major highlight. The ease with which users can integrate mouse, keyboard, and other inputs allows for the creation of engaging and responsive applications. This is particularly valuable for creating interactive installations, educational tools, or generative art that reacts to user input.
From an educational standpoint, Processing excels. It is widely used in art schools, design programs, and introductory programming courses. The abundance of tutorials, examples, and online resources, coupled with a very active and supportive community, provides a strong foundation for learning. The focus on visual output makes abstract programming concepts like loops, variables, and functions tangible and understandable.
While primarily focused on visual arts, Processing's underlying strength in Java allows for more general-purpose programming when needed. However, its primary strength remains in creative coding. For users already proficient in Java or other languages, Processing can still be a valuable tool for rapid visual prototyping and experimentation.
Overall, Processing delivers on its promise as a software sketchbook for learning to code within the context of visual arts. Its approachability, powerful graphics capabilities, extensibility, and strong community make it an excellent choice for artists, designers, educators, and anyone interested in exploring the creative potential of programming. It fosters a playful and experimental approach to coding, encouraging users to iterate and explore visual ideas through code.
Similar Software

NodeBox family of tools gives you the leverage to create generative design the way you want.

openFrameworks is an open source toolkit designed for "creative coding". OpenFrameworks is written in C++ and built on top of OpenGL.

Processing.js is a JavaScript port of Processing, a programming language designed to write visualizations, images, and interactive content.