Monday, January 11, 2010

Learn to Program with Processing

I wrote before about teaching yourself to program. After a list of reasons why you might want to learn, I suggested starting with Scratch and then trying something like Python. Now, after using Processing for a class assignment, I want to suggest this language as an excellent way to either learn programming or improve your skills.

According to its website, Processing is:
an open source programming language and environment for people who want to program images, animation, and interactions. It is used by students, artists, designers, researchers, and hobbyists for learning, prototyping, and production. It is created to teach fundamentals of computer programming within a visual context and to serve as a software sketchbook and professional production tool.
The guys who made this language were really smart about it. It's based on Java, but they abstracted away the parts nobody wants to worry about, least of all the beginner. For instance, reading and writing files and drawing to the screen are made to be very easy no matter whether you are using your program on your own computer or as an applet on the web. This can be very tricky without Processing.

To see what awesome things can be done with Processing - and the code that goes with it - check out Open Processing. The best way to get started is by looking at other peoples' code and playing with it to see what changes. You can also read the tutorials on the official website, and check out Learning Processing.

My first little game made in Processing is called Bottle Sort. Share with us what you make!


Unknown said...

In addition to the sites mentioned above, I'd recommend sketchPatch for Processing beginners. Plenty of code to play around with and no need to download anything. Full disclosure: I'm a developer on the site.

Gail Carmichael said...

Thanks Jonny! :) What would you say sketchPatch offers that's different from Processing? (I have not looked at the site in detail, but a brief synopsis here would be useful.)

Unknown said...

The aim of sketchPatch is to offer the full set of Processing functions and nothing more (we're mostly there now with the noticable exception of typography).

The difference to offline Processing is the ease with which users can view and modify the code of other sketches on the site which we hope will make it much easier for beginners to programming to get started. Gets people pass the intimidation of a blank canvas (until that blank canvas becomes a wonderful thing hopefully).