Until three months ago, my only experience of coding was, like many thirty-somethings, in BASIC on a BBC Microcomputer. As an outsider, I’m surprised to learn how many competing languages are now in popular use – many seemingly similar in both syntax and potential application. For me, choosing one to adopt (as a starting point on my education) has been based on a few one-day tutorials and lot of asking around. Flash famously has its cards marked due the Apple problem; HTML5 editors like Adobe Edge and Tumult’s Hype are both in early versions with little support and much debate over shortcomings; then we get to the ‘longhand’ coding languages like Java, jquery and its cousins. Processing is Java-based but apparently designed, among other things, around the needs of visual artists looking for a way of ‘sketching’ ideas. It seems well-regarded by people I regard, plus it has good integration with the Arduino system (handy for future projects), so I’m having a go.
Is It Any Good?
The pros include its relative simplicity compared to purer Java languages, a good website hosted by the language’s designers, and of course the ubiquity of the Java platform which means ‘sketches’ (the Processing terminology for programs) can be fairly easily embedded into websites. Cons… no dashboard (icon-based GUI) so it has to be typed longhand. There are a few handy tools at your disposal, such as an Autoformat button to tidy up your lines of code, but nothing like the timelines and suchlike in Flash. The language itself is still pretty niche. Although it was invented ten years ago, its use is not that widespread, the reference manual only being written in 2007. The main issue for me so far is finding enough examples, online tutorials and discussions to find the answers I need. By the way, it doesn’t help that it has a daft name. Googling the keyword “processing” is about as useful as searching for the word “computing” online.
How’s It Going?
My 2 or 3 hours programming in BASIC in 1985 has not been overly helpful. Coding is apparently all about experience, i.e. time spent using the language, doing things that work, or don’t, fixing problems etc. The first problem I tried to answer – how to draw a line which stops when it meets another line – defeated me after some 10 hours of Googling and staring at other people’s code. I’ve since learnt there is a possible solution called PixelArray which tells the program to read the value of every pixel. As it stands I’m tackling the problem in a different way, so rather than draw lines, I am rendering rectangles whose dimensions are set by existing objects on the screen. In theory it should be a better way to get where I’m trying to go, though I’m now in a whole new world of pain, to do with creating a virtual archive of objects.
In conclusion then, when Processing works it’s great, very satisfying. It follows a quite reasonable logic and if you can get your head around the maths, all can be well. The downside for me is that, it may be simplified from Java but it’s not quite simple enough. It still asks you to think like a computer rather than a human. Processing doesn’t operate fourth-dimensionally like Flash, but basically asks you to integrate everything into one very long mathematical equation. And that’s not how my brain works (yet).