Processing is a Java based language geared towards creative (visual, video, audio) pursuits and which, to put it bluntly, aims to cut out some of the grunt work needed to code in other languages. It is a real language, and like Java, it is strongly typed, but it also allows a lot of short cuts. In the way that Scratch lets kids or newbie developers get satisfying results for small amounts of code. Processing aims to get you straight into the subject matter of your project, without having to follow too many conventions of coding. It is a framework as well as a language. there are lots of behaviours implied by the language which caught me out. It feel like cheating, but it lets you see satisfying results pretty quickly.
I have come to Processing through my Coursera course Creative Programming, and it is still early days. But with the language and some built in graphics functions and external audio libraries you can get some impressive visualisations going very quickly.
As someone with relatively new coding skills, it is Ok to learn, as it reinforces a lot of practices common with other languages (objects, arrays, function definitions for example) but it has its quirks too. For example, the void Draw() function is a default function that is called in an indefinite loop unless you explicitly tell it not to. This had me scratching my head with early examples, unable to spot the control structures. But the real power is in it’s very abstract manipulation of, for example, graphics entities – and it is that abstraction that makes it quick to build results. You have access to low level components if you want, but you don’t have to go there.
I can see how you can use it to develop and prototype visualisation techniques and algorithms that you may then want to port to other platforms and languages. It is promoted (as is the course) as a way in for creative people with limited technical background, although I think that without at least soem experience of programming elsewhere you will struggle.
I have been working on my first assignment, which is going to be a simple but natty visual manipulation of typed text with mouse/touch interaction. I am getting there. Need to work on the sound aspect next. I’ll post the results here once I’m happy with it.
Week 3 of the course is released tomorrow, with a look at sound manipulation. can’t wait.