Si può davvero creare arte scrivendo codice? La programmazione, nella nostra mente, è da sempre associata quasi esclusivamente allo sviluppo di software e applicazioni. Negli ultimi anni però qualcosa è cambiato. Il codice è diventato anche uno strumento creativo capace di generare immagini, animazioni, suoni e ambienti interattivi.

Si parla infatti di creative coding, un approccio che utilizza i linguaggi di programmazione per produrre opere visive e sistemi dinamici. Designer, artisti digitali e sviluppatori utilizzano gli algoritmi per costruire visualizzazioni di dati, installazioni interattive e progetti di arte generativa.

La logica computazionale cambia veste e diventa materia creativa, mentre il codice si trasforma in uno strumento di progettazione visiva. Ma vediamo più nel dettaglio che cosa distingue il coding creativo dalla programmazione tradizionale.

 

Che cos’è il creative coding: oltre la programmazione funzionale

Il creative coding è una pratica che utilizza i linguaggi di programmazione per creare immagini, animazioni e sistemi visivi interattivi.

Nel software tradizionale il codice ha uno scopo operativo. Lo usiamo quindi per costruire applicazioni, ma anche gestire dati e automatizzare processi. Nel coding creativo la logica si sposta verso l’espressione visiva. Così il programma è lo strumento scelto per generare forme e pattern grafici, al pari di un pennello o di una matita.

L’autore, in poche parole, scrive una sequenza di istruzioni che definisce in che modo il computer debba produrre l’immagine o l’esperienza interattiva. Ogni esecuzione del programma può generare risultati diversi, soprattutto se entrano in gioco variabili casuali, dati esterni o input dell’utente.

Non è un caso, quindi, che il creative coding venga spesso collegato all’arte algoritmica e all’arte generativa. In queste pratiche l’artista progetta il sistema che produce l’opera invece di costruire manualmente ogni dettaglio visivo.

Il codice lavora come una sorta di grammatica creativa, che si sviluppa attraverso i suoi elementi portanti. Con funzioni matematiche, cicli e coordinate si possono generare strutture visive complesse che evolvono nel tempo o reagiscono all’ambiente.

 

I linguaggi e i framework protagonisti del settore

La diffusione del creative coding è legata anche alla nascita di strumenti dedicati. Negli ultimi vent’anni sono stati sviluppati ambienti e librerie che rendono più semplice trasformare algoritmi e dataset in grafica interattiva. Alcuni di questi strumenti sono diventati veri punti di riferimento per artisti digitali e designer che lavorano con il codice creativo.

 

Processing e p5.js: lo sketchbook della programmazione creativa

Uno degli strumenti più influenti nella storia del creative coding è Processing, un ambiente open source basato su Java. Il framework mette a disposizione dell’utente un’ampia libreria di funzioni per la creazione di forme, colori e animazioni, semplificando la creazione di progetti artistici.

L’idea dei creatori, nei primi anni Duemila, era quella di utilizzare il software per creare sketch e insegnare in modo intuitivo le basi della programmazione. Il concetto di sketch (che sostituisce quello di progetto), tra l’altro, avvicina questo tool ancora di più al mondo dell’arte. Si tratta di un framework molto flessibile, ricco di librerie e con una vasta documentazione. La sue potenzialità sono alimentate anche dai tanti contributi degli utenti, che possono integrare plug-in e add-ons al programma per allargare il perimetro delle funzionalità. Fornisce inoltre un supporto per la progettazione 3D, oltre che 2D.

Da questo progetto è nata anche p5.js, una libreria JavaScript che porta la stessa filosofia direttamente nel browser. Attraverso funzioni predefinite gli utenti possono generare forme grafiche e manipolarle con facilità.

Come Processing, anche p5.js è sostenuto da una comunità molto attiva. La piattaforma viene aggiornata continuamente e rimane accessibile anche a chi si avvicina per la prima volta al creative coding. Allo stesso tempo offre strumenti abbastanza potenti da permettere a utenti più esperti di sviluppare progetti complessi.

Uno degli aspetti più interessanti riguarda l’integrazione con le tecnologie del web. Attraverso HTML5 è possibile inserire testi, campi di input o contenuti multimediali. Il sistema può anche interagire con webcam e dispositivi dell’utente.

Dal 2018 p5.js offre un editor online, accessibile direttamente dal browser. L’ambiente include un editor di codice, una console per visualizzare errori e una finestra di anteprima dove eseguire lo sketch. L’utente può quindi scrivere, testare e modificare il progetto nello stesso spazio di lavoro.

 

Editor del codice p5js

La semplicità di questi strumenti ha contribuito a diffondere il coding creativo anche tra chi proviene dal mondo del design o dell’arte digitale. Il panorama degli strumenti però è molto più ampio.

 

Python per la computer art

Molti progetti di creative coding utilizzano linguaggi di programmazione diffusi anche nello sviluppo software.

Python è spesso scelto per la sua sintassi chiara e per la disponibilità di librerie dedicate alla visualizzazione dei dati e alla grafica generativa. Una delle più utilizzate è Matplotlib, che permette di sfruttare le forme matematiche per dare vita a intriganti rappresentazioni visive. Si possono disegnare cerchi, spirali o altre strutture geometriche, sperimentando anche con colori e variazioni grafiche.

Per chi muove i primi passi nella programmazione è molto utile anche il modulo Turtle. La libreria rende più concreti i concetti del coding, trasformando le istruzioni del programma in movimenti visibili sullo schermo. Attraverso la finestra dedicata, si passa facilmente dal disegno di semplici forme alla creazione di veri e propri mini-giochi.

 

Framework avanzati per installazioni e arte interattiva

Quando i progetti diventano più complessi entrano in gioco framework pensati per applicazioni interattive e grafica in tempo reale.

Uno dei più utilizzati è Cinder, una libreria open source scritta in C++. Il framework è pensato per sviluppatori e artisti che vogliono creare applicazioni visive per diverse piattaforme, tra cui Windows, macOS, Linux e dispositivi mobili. Cinder mette a disposizione strumenti avanzati per la grafica e offre un’architettura abbastanza strutturata, che facilita la gestione di progetti articolati.

Un’altra libreria molto diffusa è openFrameworks. Anche questo framework è scritto in C++ ed è progettato per la creazione di applicazioni interattive. La sua architettura è modulare e permette di estendere facilmente le funzionalità attraverso componenti aggiuntivi o integrazioni con altre tecnologie. Questa flessibilità rende openFrameworks molto potente, anche se richiede una certa familiarità con il linguaggio e con la sua struttura.

Nel campo delle esperienze immersive e delle installazioni interattive vengono utilizzati anche motori di sviluppo più completi. Unity, per esempio, è una piattaforma molto diffusa per la creazione di ambienti 2D e 3D. Offre un’interfaccia visuale che semplifica la progettazione delle scene e permette di sviluppare giochi, applicazioni interattive e visualizzazioni tridimensionali.

Unity pagina di download

Un’alternativa open source a Unity è Godot, un motore di sviluppo pensato per la creazione di giochi e applicazioni interattive. Il sistema utilizza una combinazione di codice e strumenti grafici. Godot supporta diversi linguaggi di programmazione e include anche GDScript, un linguaggio di scripting progettato specificamente per questo ambiente.

Applicazioni pratiche del creative coding

Negli ultimi anni queste tecniche hanno trovato spazio anche in ambiti professionali molto diversi, vediamo insieme alcune delle applicazione più interessanti.

Data visualization: trasformare i dati in immagini comprensibili

Partiamo dalla data visualization. Attraverso il codice è possibile trasformare dataset complessi in grafici dinamici, mappe interattive o strutture visive che mostrano in modo chiaro le relazioni tra variabili. L’osservatore riesce così a individuare pattern e anomalie con maggiore facilità.

Il creative coding offre strumenti molto efficaci per questo tipo di progetti. Gli algoritmi permettono di generare visualizzazioni che cambiano nel tempo o reagiscono ai dati in tempo reale. In questo modo il sistema diventa una vera interfaccia di esplorazione delle informazioni.

Questo approccio viene utilizzato in molti contesti, pensiamo alla ricerca scientifica, al marketing ma anche alla comunicazione aziendale.

Installazioni interattive ed esperienze digitali

Il creative coding trova applicazione anche nel campo delle installazioni interattive e delle esperienze digitali immersive.

Musei, eventi tecnologici e spazi espositivi utilizzano sempre più spesso sistemi visivi che reagiscono alla presenza del pubblico, grazie a sensori e webcam. Tramite i dispositivi di input, il software può rilevare movimenti o gesti che il codice traduce in immagini, suoni o video.

In questo tipo di progetto lo spettatore è parte integrante dell’opera, perché interagisce con il sistema e contribuisce a modificarne il comportamento. L’esperienza, quindi,  cambia in base alle azioni del pubblico.

Il creative coding viene utilizzato anche nel marketing esperienziale e nelle installazioni temporanee per eventi. Sono tanti i brand e le aziende che realizzano dei veri e propri luoghi digitali, capaci di coinvolgere i visitatori attraverso visualizzazioni dinamiche e interazioni in tempo reale.

Tra gli esempi più interessanti troviamo SenseScape, l’installazione interattiva realizzata da Patten Studio per Intel durante il CES 2016 con Cinder. Il progetto trasformava lo spazio espositivo in un ecosistema marino digitale abitato da creature virtuali. I visitatori potevano muoversi all’interno dell’ambiente e influenzare il comportamento delle forme di vita presenti sullo schermo.

CES, SenseScape pattenstudio.com

SenseScape – pattenstudio.com

L’installazione era composta da una struttura di circa dodici metri per sei e utilizzava trenta schermi LCD per creare il paesaggio visivo. Venticinque telecamere RealSense tracciavano i movimenti del pubblico mentre i processori Intel Core i7 gestivano i dati provenienti dai sensori e generavano grafica e audio in tempo reale. Alcuni visitatori indossavano braccialetti con sensori Intel Curie che permettevano di riconoscere gesti specifici. Così quando un visitatore sollevava il braccio, i banchi di pesci digitali si disperdevano nello spazio virtuale. C’erano poi movimenti che producevano suoni e trasformazioni visive tali da animare il plancton sullo schermo. Affascinante, vero?

Generative design e progettazione algoritmica

Un’altra applicazione importante riguarda il generative design, cioè l’utilizzo degli algoritmi per progettare forme e strutture.

In questo approccio il designer non disegna direttamente l’oggetto finale, ma definisce invece un sistema di regole che guida la generazione delle forme. Il software produce così diverse varianti del progetto in base ai parametri stabiliti.

Questa tecnica viene utilizzata in diversi settori. Architettura e design industriale, per esempio, sono alcuni dei contesti in cui la progettazione algoritmica permette di esplorare configurazioni difficili da ottenere con strumenti tradizionali. Gli algoritmi, infatti, possono gestire variabili geometriche, simulare comportamenti fisici o adattare la struttura a vincoli specifici del progetto. Il risultato è un processo di progettazione più esplorativo, in cui il designer lavora insieme al sistema generativo.

Dal creative coding al vibe coding

Non dobbiamo dimenticare però che l’evoluzione degli strumenti di intelligenza artificiale ha introdotto un nuovo modo di lavorare con il codice. E in questo cambiamento gioca un ruolo fondamentale il vibe coding.

Con questa espressione si indica un approccio allo sviluppo in cui l’autore utilizza modelli generativi per produrre o modificare porzioni di codice. Il programmatore quindi non scrive le istruzioni a mano, ma interagisce con il sistema attraverso i prompt, proprio come farebbe con un chatbot AI.

Il processo diventa collaborativo, creando un metodo che influenza anche il rapporto tra creatività e programmazione. Bisogna comunque tenere a mente che deve essere l’autore a guidare il sistema e selezionare le soluzioni più interessanti generate dal modello, non il contrario.

Per chi lavora nel creative coding, si tratta di una svolta molto interessante. Le possibilità aumentano e gli strumenti di AI permettono di sperimentare con strutture visive più complesse, accelerando allo stesso tempo alcune fasi del processo creativo.

I consigli di Data Masters: il futuro della creatività computazionale

Il creative coding ci mostra con chiarezza quanto il confine tra tecnologia e creatività sia sempre più sottile. Il codice diventa il punto di incontro tra programmazione e grafica, costruendo esperienze visive che reagiscono ai dati, agli utenti o all’ambiente.

Se vuoi avvicinarti a questo campo, però, è importante sviluppare una base solida di programmazione. Linguaggi come Python e JavaScript offrono strumenti utili per comprendere la logica del codice e iniziare a sperimentare con progetti visivi e interattivi.

Negli ultimi anni abbiamo visto che anche l’intelligenza artificiale è entrata nel processo creativo. Ecco perché è importante conoscere bene le tecnologie che stanno trasformando il lavoro degli sviluppatori e dei professionisti digitali.

Data Masters sviluppa percorsi di formazione dedicati proprio a queste competenze. I programmi didattici aiutano professionisti e studenti a comprendere come utilizzare il coding, i dati e l’intelligenza artificiale per iniziare subito a lavorare.

Uno dei percorsi più richiesti è il corso di AI generativa, che aiuta a comprendere come funzionano i modelli AI, responsabili della produzione di contenuti digitali. Il programma parte dai fondamenti dell’intelligenza artificiale e introduce strumenti come ChatGPT, Gemini, Claude e Copilot. Il percorso affronta poi il tema del prompt engineering e mostra come utilizzare la generative AI per l’analisi dei dati, lo sviluppo software e la produzione di contenuti.

Una parte del corso è dedicata ai creativi che vogliono lavorare con audio, video e immagini generate dai modelli AI. Analizzeremo insieme i migliori tool per creare immagini con l’intelligenza artificiale, con le loro funzionalità avanzate, ma anche strumenti professionali come Canva Magic Studio e Adobe Firefly.

Per chi parte da zero, invece, il punto di ingresso più efficace resta il corso di Python per iniziare. Il percorso non richiede prerequisiti e introduce la programmazione attraverso esercitazioni pratiche. Le lezioni sono stimolanti e includono progetti guidati che permettono di applicare subito le competenze acquisite!

NEWSLETTER

Ricevi direttamente sulla tua mail gli ultimi articoli pubblicati nella nostra sezione AI NEWS per rimanere sempre aggiornato e non perderti nessun contenuto.

Giuseppe Mastrandrea

AUTORE:Giuseppe Mastrandrea Apri profilo LinkedIn

Giuseppe è un Ingegnere Informatico con una forte specializzazione e pubblicazioni in ambito Computer Vision. Da circa 8 anni si dedica all’insegnamento in ambito informatico e alla formazione sulle tecnologie emergenti tra le quali il Machine Learning.