Processing and Programmatics

You've already used Max for creative coding in our New Media Art class. It's great, and it was the original way for artists to program. It's powerful, it's popular, and you run into it a lot. But it's also got some issues. It's old, it has some problems slowing down with really complicated things, and it can be a little weird to learn.

So, there's a few ways to do creative coding that are newer and very popular. None of these things are perfomative in and of themselves, but you could certainly use them performatively.

The biggest is Processing. It's free and very lightweight. If you are interested in learning how to program at all, it's designed for visual artists to learn to code (in comparison, Max was originally an audio coding platform, and even after all these years, it still feels like video is an afterthought). There you can use Processing to control an Arduino microcontroller, or you can just embed simple sketches on your website. Thousands of artists use this, so there's lots of examples to watch and learn from at places like Open Processing, which means that there's lots of documentation, and a huge community to help you.

There's Pd (PureData). It's an open source platform that is a lot like Max was when it first came out. Some people like Pd. Many people hate it, me included. But it's free and you program by visually sketching things out.

We was one piece the other day made on OpenFrameworks. Imagine Processing, but using C++ as the base language. You get incredible performance because the language runs closer to the metal, but C++ is not a trivial thing to work with. Very difficult. Hence, much smaller community. But if you already know C++, it's amazing. Do NOT start with this.

Apple makes Quartz Composer. It's Mac-only, and part of the free Xcode developer tools. It's ridiculously powerful, and visual. Most of the best apps (Resolume, VDMX, etc) can incorporate QC compositions right inside them. But beware, QC only LOOKS easy. It's simple, but definitely not easy. (While in my opinion, something like Processing is pretty easy, but not simple. Its looks pretty complicated if you just glance at it.)

In a fantasy world, we'd have a separate class JUST in Processing, right? All we need are enough bodies to teach all this stuff and still teach the core classes. On the other hand, this stuff is honestly best uncovered in the context of something you want to do. If you want to incorporate this is your work, go right ahead, and I'll help as you need.