La poesia è un algoritmo

La bellezza del codice e il codice della bellezza

Ci avevo riflettuto da tempo: così come per i matematici e i fisici la formula ideale è elegante, quindi ha un valore anche estetico, allo stesso modo i programmatori potrebbero vedere nelle stringhe di codice un forma rarefatta di bellezza. Infatti, qualche giorno fa, mi imbatto nell’articolo di Marta Serafini sul Corriere, che cita il saggio di Vikram ChandraGeek Sublime, The Beauty of Code, the Code of Beauty (Il supremo secchione, la bellezza del codice, il codice della bellezza).

Nell’introduzione di questo libro si nomina il manifesto del programmatore Paul Graham nel quale si legge che i coder (scrittori di codice informatico) si considerino artisti come i pittori e gli architetti.

Chandra mette in risalto la creatività del codice di programmazione e definisce i social media, le app e i software «filtri attraverso i quali manipoliamo la realtà e a nostra volta ne siamo manipolati».

La differenza tra algoritmo e programma

Si fa spesso confusione fra algoritmo e programma. Non sono sinonimi. Un algoritmo è la descrizione “astratta” di come risolvere matematicamente un determinato problema.

La sua traduzione in “codice” richiede di tener presente la macchina sulla quale viene eseguito (registri/variabili, istruzioni disponibili, memoria, ecc.). Questo è il “programma“.

L’estetica del codice

I codici possono essere belli, ma solo agli occhi di pochi addetti ai lavori. Per la maggior parte dei mortali, le dimensioni “belle” del codice sono invisibili. La difficoltà di apprezzamento estetico che incontra un codice informatico, rispetto a un dipinto o a una poesia, deriva dalla sua mancanza di immediatezza percettiva, dalla necessità di acquisire un complesso retroterra logico-matematico prima di poterne valutare le dimensioni estetiche, cioè la bellezza. E lo stesso discorso si puo’ applicare a gran parte delle scienze. Le cose cambieranno se il processo di selezione biologica produrrà una popolazione umana in maggioranza naturalmente incline agli studi logico-matematici e all’estetica delle soluzioni informatiche.

In genere il codice ‘bello’ è proprio quello leggibile, mantenibile, riutilizzabile. Come in una partitura musicale, sai com’è scritto e come si muoverà, anche se qualche volta ti sorprenderà con qualcosa di piacevolmente inatteso e nuovo. È il codice ‘brutto’, quello mal scritto, che prende vie tortuose e complicate perché l’autore non è in grado di vedere quella elegante, che richiede trucchi e scorciatoie buie, che è difficile da mantenere.

Le equazioni di Maxwell, l’elettricità e la matematica dell’arte

Mai viste le equazioni di Maxwell? Sì, anche la corrente elettrica può essere elegante e poetica. La matematica e la logica sono fra le più potenti creazioni del pensiero umano. Persino dietro l’arte si nascondono regole matematiche, relazioni tra gli spazi, le forme, i colori. La relazione fra Matematica e Natura a ben pensarci è incredibile, ma la Matematica esiste a prescindere dalla descrizione che ne ha creato il cervello umano, o no? La capacità di astrarre, la capacità di creare ed esplorare nuovi mondi al di là di quelli accessibili ai cinque sensi è potere creativo, e la ricerca di armonia ed eleganza è arte, nel più puro senso del termine. Ma è proprio questa astrazione, questa intangibilità, a far sembrare ‘arido’ il mondo matematico e scientifico a chi non sa andare oltre i cinque sensi, e non può vedere, sentire, assaporare solo con il cervello.

Persino nel codice si vede chi è ‘artista’ e risolve i problemi con semplicità ed eleganza (e perfino il processore sarà in grado di eseguire più rapidamente e con meno possibilità di errori quel codice), e chi non lo è, e si affanna a scrivere codice inutilmente complesso, prono ad errori, e lento.

Guarda pure il codice HTML che ti consente di visualizzare a schermo l’ immagine della Madonna delle Rocce di Leonardo. Se da qualche parte non c’è il file in formato digitale corrispondente all’ immagine della Vergine delle Rocce, sullo schermo non vedrai nulla. E se Leonardo non avesse dipinto la Vergine delle Rocce non ci sarebbe da digitalizzare nulla da poi chiamare in visualizzazione a schermo col codice HTML. Poi, tutto il lavoro lo svolgono i processori, ai quali, del linguaggio HTML in sé stesso, non interessa proprio nulla. E se non ci fosse corrente, non funzionerebbe neppure il processore. Pertanto, che bella e poetica la corrente elettrica! Quanto pigmenti, tela e pennelli. — Il bello della programmazione strutturata è che c’è dietro la logica. Che è imparentata alla matematica. La matematica è logica.

La Code Poetry: una definizione

Melissa Kagan, una delle organizzatrici del Code Poetry Slam (una competizione per poeti programmatori), sponsorizzato dall’Università di Stanford, definisce un code poem in questo modo:

Code Poetry può significare molte cose diverse a seconda di quello che si chiede. Può essere un pezzo di testo che può essere letto come codice ed eseguito come programma, ma anche letto come una poesia. Può significare una poesia in linguaggio umano che ha elementi matematici e codici in essa, o anche codice che cerca un’espressione elegante all’interno di vincoli severi, come un haiku o un sonetto, o codice che genera poesia automatica. 

Code {poems}: la prima antologia di code poetry

La poesia è un algoritmo

È nato un progetto di un poeta sviluppatore, Ishac Bertran, che ha chiamato a raccolta altri code poet. Il risultato è un libro di carta (stranamente non un ebook, vista la tipologia di poesie) in edizione limitata a 100 copie: Code {poems}. L’abstract del sito dice:

La poesia è considerata una forma d’arte letteraria nella quale il linguaggio è usato per le sue qualità estetiche ed evocative. Esso contiene interpretazioni multiple e perciò ha una risonanza diversa in ciascun lettore.

Il codice è un linguaggio usato per comunicare con i computer, con le sue regole (sintassi) e il suo significato (semantica). Come gli scrittori e i poeti, i programmatori hanno anche loro un proprio stile che include strategie per l’ottimizzazione del codice che viene letto dal computer per agevolarne la comprensione attraverso l’organizzazione visiva e permettere commenti agli altri programmatori.

Il codice può parlare di letteratura, logica e matematica. Esso contiene diversi livelli di astrazione e li collega al mondo fisico di processori e chip di memoria. Tutte queste risorse possono contribuire ad espandere i confini della poesia contemporanea utilizzando il codice come un nuovo linguaggio per parlare della vita e della morte, dell’amore e dell’odio. Un codice fatto per essere letto e non eseguito.

Google Suggest e le poesie del riempimento automatico

Le poesie di Google Suggest

Molti si saranno accorti che Google, quando digitiamo una parola nel campo di ricerca, suggerisce in tempo reale altre keyword che secondo lui completano la ricerca stessa che stiamo effettuando. Questo comporta che l’algoritmo di auto-riempimento a volte generi strane “poesie” involontarie.

Poiché i suggerimenti tengono conto di diversi parametri, tra cui:

  • Ricerche più rilevanti
  • Ricerche più popolari
  • Ricerche che abbiamo già fatto o similari
  • Ricerche dei nostri amici

ogni composizione, anche per la stessa parola chiave, sarà diversa da quella di un altro utente.

Sono nati, quindi, alcuni siti che raccolgono queste strane liriche generate da Google e collegate alle query più ricercate. Uno di questi è Google Poetics (che trovate anche su Twitter).

Gli haiku del New York Times

Anche il New York ­Times, di recente, ha lanciato Times Haiku, un Tumblr che posta haiku estratti dalle sue breaking news. L’idea è venuta al programmatore Jacob Harris che ha compilato un software che cerca frasi all’interno delle notizie che rispondano alla metrica dell’haiku, la tradizionale poesia giapponese, cioè 3 versi da 17 sillabe: 5 nel primo verso, 7 nel secondo e 5 nel terzo.

Il progetto trae ispirazione da Haikuleaks (che pare non sia più online), un sito che genera haiku a partire dai dispacci diplomatici pubblicati da Wikileaks.

Secondo Harris “a volte una frase sembra banale nel suo contesto, ma estrapolata rivela una strana comicità o bellezza”. Altre volte “un frammento di testo fa venir voglia di leggere l’articolo”. Sarà la poesia uno degli strumenti per attrarre nuovi lettori sulle piattaforme editoriali?

Il codice della Natura [VIDEO]

In questo bellissimo video, diviso in tre quadranti, vengono rappresentate azioni quotidiane o eventi naturali. A destra c’è il fenomeno come lo vediamo normalmente, al centro c’è il modello matematico che lo rappresenta, a sinistra l’equazione matematica a cui si riferisce.

Da queste immagini suggestive si evince che la bellezza della Natura, che spesso si configura come poesia sensoriale (che investe tutti e cinque i sensi) ha indubbiamente un codice o un referente matematico.

(Nella stesura di questo post ho riportato estratti da alcuni commenti all’articolo di Marta Serafini che mi sono sembrati molto interessanti. Poiché erano anonimi, chi lo desidera, può contattarmi ed essere accreditato come autore.)

[EDIT: ho trovato degli articoli molto interessanti su questo tema. Ve li linko qui:

The poetics of Coding” di Matt Ward, Smashing Magazine;
I poeti robot sono migliori di quelli umani” di Brian Merchant, Motherboard;
T’amo, pio robottone” di Pietro Minto, Rivista Studio;
Quello che ci fanno gli algoritmi” di Davide Piacenza, Rivista Studio.]

Collezionista di papiri accademici, sono un geek eclettico con una formazione umanistica e una grande passione per la tecnologia e l'IA. Coltivo la radice spirituale dell'essere digitale.
 
Commenta su Facebook

Notificami
avatar
wpDiscuz