Processing is an open source programming language and environment for people who want to create images, animations, interactions, and games.
The processing tag is misleading and leads to misunderstandings and even closure votes, because of the seemingly missing language tag. It is strongly recommended to tag questions additionally with a language tag.
But note Processing is not the same as Java.
Processing refers to the language built on top of Java and the minimal IDE it ships with. It is free and open-source, runs on Linux, Mac OS X, and Windows, and can output for screens, print, 3D packages and CNC printing.
The language simplifies a lot of complex concepts and eases the entry of designers, artists and non-programmers to the world of programming.
Over the years it was used to produce a number of astonishing projects ranging from data visualization, to physical computing , games, 3D, sound, live performance, and more.
Due to its vibrant community, Processing not only enjoys a contribution of over 100 libraries, but it is also present on major mobile platforms, such as Android and iOS.
There are online communities for sharing Processing content, like OpenProcessing.
Some websites even allow users to learn and use Processing directly in the browser, like the Flash-driven SketchPatch and the JavaScript-driven Sketchpad and p5.js (pure JavaScript).
There are also Processing ports to the following languages:
- JavaScript (via Processing.js or p5.js)
- ActionScript
- Python (see the official Python Mode, or via NodeBox, Field, pyProcessing, p5py, py5)
- Scala
- Clojure
- Ruby
Advanced users are not constrained to the Processing IDE; sketches can be run from the command line, and projects can be set up to build and run directly from editors:
- Eclipse (see the official method or via proclipsing)
- Sublime Text (via the processing-sublime package)
- Atom (via the Script package or the Processing in Atom package)
- IntelliJ IDEA (see this repository for an example setup)