What is Processing?
Processing is a programming language for computer graphics. It is easy to use, but quite powerful -- it can do 2D and 3D graphics, including animation and live interaction (see these examples). Processing is designed for "rapid prototyping," that is, letting you test out ideas quickly, without getting bogged down in technical details.
Getting started
Processing is available for free, and it comes with a bunch of tutorials to help you get started.
NOTE: In some cases, you may want to get the 32-bit version of Processing, even if you have a 64-bit computer. For instance, if you want to program the Kinect sensor using both Processing and C++, and you are using the free version of Microsoft Visual Studio (which produces 32-bit code), then you should use the 32-bit version of the Kinect libraries and the 32-bit version of Processing.
NOTE: In some cases, you may want to get the 32-bit version of Processing, even if you have a 64-bit computer. For instance, if you want to program the Kinect sensor using both Processing and C++, and you are using the free version of Microsoft Visual Studio (which produces 32-bit code), then you should use the 32-bit version of the Kinect libraries and the 32-bit version of Processing.
How does it work?
Processing is built on top of the Java programming language and runtime environment. That is, the Processing language inherits (a subset of) the features of the Java language, and a Processing program runs inside a Java object. Java has some nice features: it's object-oriented, cross-platform, and has garbage collection and other modern conveniences. On the negative side, Java can be a bit verbose (*cough* exception handling *cough*), and isn't quite as fast as C or C++ (which can be an issue for 3D graphics). For rapid prototyping, though, this is not a big deal.
Processing has another neat trick: code written in Processing can run inside a web browser using Processing.js. (This is how the examples on the Processing web site work.) Essentially, Processing.js is a library that translates Processing into Javascript -- the scripting language of web browsers. Javascript is convenient, because most web browsers support it without requiring a plug-in. Unfortunately Javascript is neither pretty nor fast... but it works.
Processing has another neat trick: code written in Processing can run inside a web browser using Processing.js. (This is how the examples on the Processing web site work.) Essentially, Processing.js is a library that translates Processing into Javascript -- the scripting language of web browsers. Javascript is convenient, because most web browsers support it without requiring a plug-in. Unfortunately Javascript is neither pretty nor fast... but it works.