Processing was developed as an easy way for designers to get started with coding and quickly get to a visual outcome. It is free to use, has a big community behind it and can integrated with Arduino and other microcomputers.
Processing is really good for prototyping visuals that communicate with Arduino. It is based on a simplified version of the Java programming language, although you don't need to know it to start prototyping.
Although the entry barrier is relatively low, it is still very powerful and is used for amazing projects!
Processing has a small brother, ‣ , that uses JavaScript, and can't communicate with Arduino without a complex setup, but is easier to start with. Both are used for the same kind of projects and have a similar (almost equal) syntax.
Differences between Processing and p5
Learning the basics of Processing
<aside> 🔥 The Coding Trains is one of the best didactic resources in the world of Processing and p5, they have basically a video for almost any kind of stuff you'd like to program. They are really easy to follow and the code is really easy to modify. Please check it out!
</aside>
Connecting Arduino to Processing
12.1: What is the Kinect? - Kinect and Processing Tutorial