2. Crear amb codi

2.2. Eines de programació creativa

2.2.2. Processing

Segons afirmen Reas i Fry:

La missió original de Processing era crear programari que fes que aprendre a programar fos accessible per als creadors visuals (dissenyadors, artistes, arquitectes) i ajudar els usuaris més tècnics a treballar amb gràfics de manera fluïda. Aspiràvem a facilitar a la gent a estar instruïda en programari, a aprendre a llegir i escriure programari.

C. Reas, B. Fry (2018, maig). «A Modern Prometheus. The History of Processing by Casey Reas and Ben Fry». Medium [en línia]. <https://medium.com/processing-foundation/a-modern-prometheus-59aed94abe85>

Els creadors de Processing no solament tenen per objectiu fer que els artistes i dissenyadors puguin programar, sinó també plantejar una aproximació diferent a la programació.

L’entorn de programació permet anar veient quins resultats genera el codi en una interfície visual i, per tant, anar descobrint de forma intuïtiva què es pot fer i com aconseguir-ho. Reas i Fry ho denominen esbossar (sketching) amb codi. Aquesta expressió al·ludeix clarament la pràctica d’esbossar amb un llapis una idea o un dibuix preparatori, quelcom habitual tant en les arts com en el disseny i també una manera efectiva d’anar donant forma a un projecte per mitjà d’un procés ràpid i intuïtiu. Quan es crea amb codi, esbossar les idees en un quadern pot ser menys efectiu, ja que el que s’expressa amb text o dibuixos s’ha de traduir posteriorment en un llenguatge de programació. Per això, Processing es concep com un «quadern d’esbossos» de programari, en què l’esbós es realitza escrivint codi i examinant els resultats en el mateix mitjà en què es crea el producte final.

Processing s’estructura en tres parts principals:

  1. Llenguatge de programació. Creat a partir de Java, està pensat per a ser fàcilment comprensible i permetre un treball intuïtiu. Un programa escrit en Processing es denomina esbós (sketch), per a emfatitzar la possibilitat de programar de forma oberta a l’experimentació i el mètode d’assaig i error.
  2. Entorn de programació. És un programa que ofereix a l’usuari una interfície gràfica, el Processing Development Environment (PDE), que permet escriure codi i veure els resultats a mesura que es treballa, a més de ser l’espai en què s’emmagatzemen els «esbossos» per al seu ús posterior.
  3. Comunitat. La comunitat d’usuaris de Processing és un aspecte essencial d’aquest projecte, atès que els creadors comparteixen el codi que han escrit en nombroses llibreries que faciliten a altres usuaris desenvolupar els seus propis projectes.

Més enllà de la creació de gràfics i l’aprenentatge intuïtiu amb codi de programació, Processing s’ha aplicat en innombrables projectes, incloent instal·lacions interactives, visualització de dades, art sonor, peces robòtiques i un llarg etcètera.

El seu èxit es deu no solament al fet que facilita en gran manera l’accés a la programació a artistes i dissenyadors, sinó també que es tracta de programari de codi obert, gratuït i disponible en els sistemes operatius Windows, Linux i MacOS i, per tant, els projectes generats amb Processing són compatibles amb tots aquests.

L’ús de Processing és força senzill. El programari presenta a l’usuari una interfície senzilla composta per una finestra en què s’escriu el codi de programació i una altra en què es visualitzen els resultats (figura 2). Després d’escriure unes línies de codi, n’hi ha prou amb clicar el botó «Play» per a executar el programa, de manera que resulta fàcil comparar el codi amb el resultat que aquest produeix. A la part inferior de la pantalla, la pestanya «Errors» informa de qualsevol fallada en la sintaxi del codi, quelcom que pot ocórrer freqüentment, atès que la posició de cada parèntesi, coma o punt i coma (i també els noms de les variables, etc.) afecta la correcta execució del programa.

PENDENT FIGURA 2

Una instrucció senzilla, proposta en el tutorial escrit per Reas i Fry que es pot consultar al web de Processing, és la següent:

ellipse(50, 50, 80, 80);

Aquesta línia de codi indica al programa que ha de dibuixar una el·lipse el centre de la qual se situï a 50 píxels de la vora esquerra i 50 píxels de la vora superior de l’àrea de visualització, amb un ample i alt de 80 píxels. De la mateixa manera, es poden dibuixar altres formes geomètriques (arc, línia, punt, quadrat, rectangle, triangle) i composicions més complexes. Però el més interessant és la possibilitat de generar composicions de forma automàtica o introduir la interacció amb l’usuari, per exemple per mitjà de la posició del ratolí i l’opció de fer clic. El segon exemple que trobem en el tutorial és el següent:

void setup() {
 size(480, 120);
}
void draw() {
 if (mousePressed) {
 fill(0);
 } else {
 fill(255);
 }
 ellipse(mouseX, mouseY, 80, 80);
}

Amb aquest codi s’introdueixen noves funcions, com ara la de definir la grandària de l’espai de visualització (void setup), dibuixar una determinada forma seguint la posició del ratolí (ellipse(mouse X, mouseY, 80, 80);) i introduir canvis quan l’usuari prem el botó del ratolí (mousePressed). Aquestes línies de codi senzilles ens mostren les possibilitats del programari, que inclouen tant la creació d’objectes com l’assignació de comportaments i la interacció amb altres elements, que poden ser tant el clic del ratolí com els inputs generats per un sensor o un flux de dades.

Processing facilita la creació d’una gran varietat de projectes d’una complexitat molt diversa, partint de les instruccions més bàsiques i afegint, posteriorment, elements importats de llibreries i la interacció amb tot tipus de dispositius. Els nombrosos exemples que es presenten al web del projecte, i també la gran quantitat de tutorials i recursos disponibles, faciliten fer els primers passos amb Processing i inspirar-se per a desenvolupar projectes més elaborats.