We barely scratched the surface of what is possible with Processing and Arduino. Here is a little list of possible topics you might find interesting:
- OOP – object-oriented programming is a more advanced approach for structuring your code. There is a good tutorial about it on the Processing website.
- Vectors – a powerful way for programming motion
- Arduino Tutorials – Arduino comes with really good example projects. Each example comes with a tutorial.
Other Interesting Programming Languages/Environments (in no particular order)
Processing and Arduino are great tools, but they are not suitable for all situations and projects. Therefore, I have prepared a little list of other tools and additional resources to get you going further.
This list will give you some pointers on where to go next. The list is mainly based on my personal experience and recommendations for the type of work that I do. It is not in any way a complete list and for other type of projects many other tools would work better.
It is not a list of programming languages as such, more of a list of development tools for creative work that incorporate some kind of programming language.
- openFrameworks – If you are comfortable with text-based programming and want to get your hands on something more powerful, I would recommend openFrameworks, the big brother (or sister) of Processing that uses C++. It will be a bit more complicated, but the effort is well worth it if you are serious about creative coding. One of the main tools in my toolbox. Free and open source.
- Max – Another very popular programming environment. Programming is done by patching blocks together visually. For some people (like me), programming in this visual way is much easier than writing text code. Powerful tools for sound and visuals. Used a lot in theatre and performances. Works very nicely together with Ableton Live. I use Max occasionally when the project seems best suited for it. Commercial software.
- Pure Data – The open source version of Max that branched off from Max around 1996. Great for sound artists. I personally use PD quite often for all kinds of sound work. Can also be embedded to openFrameworks projects (and many others) via libPD. Free and open source.
- Quartz Composer – My all time favorite programming tool. Very popular among VJs and people working with real-time video. Released as a free developer tool by Apple, but like the headphone jack, it has been abandoned by Apple and it hasn’t been updated for years. Considered by many (foolishly) to be just a toy, but I have made my living for about 10 years using QC for installations, VJ stuff, theatre work, TV etc. Free, not open source. Only for Mac.
- Vuo – A visual programming environment very similar to Quartz Composer. Developed by a small team that used to specialize in creating plugins for QC. Has replaced QC for me to some extent, and is slowly maturing to the point where it can be considered a serious tool. Commercial software, partly open source. Only for Mac (for now).
- vvvv – I have no real personal experience with this since it only runs on Windows, but vvvv is used by many artists and the showreels are very impressive. Something I’ve been meaning to look into for many years now. Free for non-commercial work. License needed for commercial work. Windows only.
- TouchDesigner – Another Windows-only creative coding tool similar to Max or vvvv. Mainly used for large-scale video works. The Pro version is very expensive, but they have educational licenses too. Commercial software. Windows only.
- SuperCollider – A great tool for sound synthesis, algorithmic compositions, live coding. Many people swear by it. The side effect is a very snobby attitude by many SuperCollider users towards any other audio tools. Free and open source.