2.2. Eines de programació creativa
2.2.1. Introducció
En l’última dècada s’han multiplicat les eines destinades a facilitar l’ús de la programació en projectes d’arts visuals i disseny, en part impulsades per la filosofia del programari de codi obert i també per la necessitat que han experimentat un grup creixent d’artistes i dissenyadors d’anar més enllà de les possibilitats que els oferia el programari comercial.
Si bé algunes tenen una llarga història, com ara el programari de música electrònica Max creat per Miller S. Puckette en els anys 80 i desenvolupat en diferents versions (entre les quals les més conegudes són Max/MSP i Pure Data), la majoria es creen a partir de l’any 2000 en el context d’estudis de disseny, escoles i centres de recerca o agrupacions d’artistes i programadors. L’objectiu comú d’aquests entorns de programació és facilitar la creació d’un tipus de projectes que escapen a la finalitat de la majoria dels programes de programari comercial, centrats a generar un producte final, sia una imatge, una animació o un vídeo.
La generació d’imatges i sons en temps real a partir de dades obtingudes a internet o d’altres formes d’interacció requeria un nou tipus de programari. Programes com Processing, openFrameworks, Max/MSP, Pure Data, VVVV i Cinder són alguns exemples.
La diversitat d’eines i entorns de programació respon tant a la història del desenvolupament de cada programa com a les necessitats que busca cobrir i al fet que hi ha diferents maneres d’abordar la programació creativa. Casey Reas, cocreador de Processing, afirma que cada llenguatge de programació s’ha de veure com un material diferent, de forma similar a com un fuster treballa amb diferents tipus de fusta en funció de les propietats específiques de les mateixes (Reas i McWilliams, 2010, pàg. 17). En aquest sentit, els diferents entorns de programació resulten més o menys útils en funció dels coneixements previs de l’usuari (alguns resulten més complexos que d’altres) i també del que es pretengui aconseguir amb aquests, ja que uns, per exemple, són més adequats per a generar composicions sonores en temps real mentre que uns altres serveixen per a crear animacions d’objectes geomètrics.
Així com hi ha molts llenguatges humans diferents, hi ha molts llenguatges de programació diferents. De la mateixa manera que els diferents conceptes poden ser transmesos per mitjà de diversos llenguatges humans, els diferents llenguatges de programació permeten als programadors escriure diferents estructures de programari. […] Pot ser útil pensar en cada llenguatge de programació com un material amb prestacions i limitacions úniques. Diferents idiomes són apropiats depenent del context.
G. Stocker, C. Schöpf (ed.) (2003). Ars Electronica. CODE – The Language of our Time (pàg. 175). Osterfildern-Ruit: Hatje Cantz.
A continuació, revisarem els principals entorns de programació, eines i llibreries que s’empren actualment en la creació d’instal·lacions interactives, animacions generatives, performances audiovisuals i molts altres projectes creatius.