La scrittura di software è un nuovo genere letterario?

Per Vikram Chandra si può togliere il punto interrogativo

di Ilaria Amurri e Mario Mancini

Vai agli altri articoli della serie “L’industria del computer e la sua storia

Vai agli altri articoli della serie “Il contenuto nei nuovi media”

Image for post
Image for post

Verso l’incontro di due culture

Esiste un punto di incontro tra logica e irrazionalità? Può la scienza sublimare l’animo umano al pari di una forma d’arte? Questo il paradosso che Vikram Chandra tenta di risolvere nel suo romanzo, intitolato Geek Sublime. La mia vita tra letteratura e codice ( Egg edizioni). Il titolo dell’edizione originale inglese è ancora più esplicito sul contenuto del libro Geek Sublime: Writing Fiction, Coding Software (Faber & Faber). Verrebbe subito da domandarsi: ma che relazione c’è tra la scrittura di storie e la scrittura di software? C’è, c’è dice l’autore che è entrambe le cose. È la bellezza.

Nelle prime pagine del libro riferendosi al lavoro seminale di Paul Graham (inventore del linguaggio LISP) e al suo Hackers & painters, e parlando dell’opera di Leonardo da Vinci traccia subito un parallelo sublime, scrive:

Il grande software [così come l’opera di Leonardo] esige una devozione fanatica alla bellezza. Se guardi dentro al buon software scopri che persino i più piccoli dettagli destinati a non essere visti da nessuno sono pura bellezza.

Era questo un mantra anche di Steve Jobs che ripeteva ai suoi collaboratori vendendo un dettaglio trascurato: “Se sei un buon falegname non appiccichi una lastra di compensato dietro un armadio perché nessuno la vede”. Capito Ikea!

Image for post
Image for post
L’edizione originale inglese del libro di Chandra

La storia che Chandra racconta nel libro, parzialmente autobiografico, prende in considerazione e poi mette in discussione la possibilità di far coincidere l’illuminazione estetica con la perfezione matematica. La base comune è la creatività e la bellezza.

Lo scrittore di origine indiana sperimenta una via alternativa all’arte, servendosi della logica e precisamente del linguaggio di programmazione, per cogliere la natura di quei misteri che nella società delle “due culture” sono considerati preclusi alla razionalità. Ecco spiegato dunque il titolo di Geek Sublime, che letteralmente significa “il sublime dello sviluppatore”, una sorta di ossimoro che in sole due parole racchiude l’essenza del romanzo di Chandra, ossia la collisione fra calcolo scientifico e intuizione artistica.

Secondo alcuni addetti ai lavori, infatti, un’attività come la programmazione di computer può consentire a chi la pratica di elevarsi al grado di poeta. Tale concezione, più originale che bizzarra, nasce dal fatto che il linguaggio di programmazione funziona come qualsiasi altro tipo di linguaggio umano, tanto che le sue leggi presentano sorprendenti analogie con le regole grammaticali della lingua sanscrita, formalizzate dallo studioso Panini nel 500 a.C.

Analogie tra linguaggio di programmazione e lingua sanscrita

Image for post
Image for post
L’edizione originale italiana del libro di Chandra

Il compito del programmatore è di scrivere un codice sorgente, servendosi di un linguaggio che risulta affine a quello umano persino nel tipo di errori in cui si può incorrere, come quelli sintattici o semantici. Al pari del sanscrito, il sistema linguistico all’interno del quale si muove il geek è di fatto grammaticalizzato, poiché funziona secondo regole prestabilite, invece di servirsi della grammatica per descrivere il linguaggio, vale a dire che la norma nasce prima della lingua stessa.

Il linguaggio di programmazione possiede un suo sistema grammaticale e lessicale, creato appositamente per permettere all’uomo di comunicare informazioni a un computer, mentre il sanscrito nasce da una lingua ancora più formale, il vedico, appartenente alla più antica delle famiglie indoeuropee. La lingua sanscrita è un sistema perfetto, la cui grammatica regola ogni singolo meccanismo sintattico, tanto che il suo equilibrio e la sua completezza hanno suggerito a Vikram Chandra l’immagine di uno strano anello che unisce algoritmo e poesia.

La permanenza/superamento degli opposti

Image for post
Image for post
Chandra ripreso durante un firmacopie. Il mondo dello sviluppo del software è dominato dalla cultura maschile che viene indentificata con la razionalità e la logica.

Nel tentativo di ricomporre le connessioni sempre più deboli che uniscono la cultura scientifica a quella umanistica, Chandra osserva in particolar modo la distinzione di genere che accomuna il settore della programmazione e la strategia di assoggettamento del popolo indiano da parte dell’Impero Britannico. In entrambi i casi, l’intelligenza è vista come una qualità esclusivamente maschile, mentre il concetto di “femminile”, la cui complessità finisce per ridursi a una stereotipata “effemminatezza”, è riferito esclusivamente a ciò che è irrazionale e illogico.

Chandra spiega come la cultura indiana sia stata in un certo senso “contaminata” dal pensiero occidentale e da un atteggiamento tradizionalmente manicheo, che tende a individuare principi opposti da considerare tanto inconciliabili, quanto assoluti. Una visione del mondo altrettanto macista e razionalistica è quella che contraddistingue attualmente il mondo dell’ICT, sebbene moltissime donne abbiano contribuito allo sviluppo di tale scienza, a partire dall’inglese Lady Ada Lovelace, che inventò la programmazione dei computer nel XIX secolo.

In sostanza, sono molti i modi in cui lo spirito umano può riuscire a elevarsi. Sarebbe ingiusto identificare nell’arte un concetto di sublime universale, escludendo a priori la possibilità di includere in esso la bellezza e la purezza della matematica. Forte della profonda conoscenza di due culture decisamente distanti, quella indiana e quella americana, Chandra affronta dunque un viaggio interiore e universale, il cui esito conferma e allo stesso tempo smentisce l’opposizione tra uomo e donna, tra scienziato e artista, tra sviluppatore e poeta.

Vi lasciamo adesso alla lettura, nella traduzione italiana, della recensione pubblicata sul NYTimes di James Gleik al libro Geek Sublime di Vikram Chandra. Il titolo della recensione è “A Unified Theory”.

L’abisso di incomprensione tra scienziati e umanisti

Image for post
Image for post

Da ormai cinquant’anni, siamo abituati a pensare che alla base della nostra cultura intellettuale vi sia una dicotomia tra arte e scienza, ovvero tra le cosiddette “due culture”. Questo slogan fu coniato nel 1959, durante una conferenza che si rivelò decisiva, pubblicata lo stesso anno e tenuta da Charles Percy Snow: “un ricercatore in chimica non particolarmente brillante, che era diventato un famoso romanziere”, secondo la descrizione ben poco adulatoria offerta dalla studiosa di storia Lisa Jardine. Snow era convinto che gli umanisti e gli scienziati rappresentassero due estremi opposti e che fossero separati da un riprovevole “abisso di reciproca incomprensione”.

E voi da che parte state? Ecco la prova del nove di Snow: chi non sa spiegare la seconda legge della termodinamica è un ignorante, proprio come uno scienziato che non sa citare Shakespeare.

Nel ventunesimo secolo, il nostro modo di pensare è rimasto lo stesso, mentre sono cambiati i margini di errore. Molte persone sanno parlare di termodinamica o di Shakespeare con la stessa disinvoltura, anche se nessuno, a questo proposito, ha mai spiegato il secondo principio meglio di Tom Stoppard, nella sua commedia intitolata Arcadia: “non si può più dividere ciò che è stato mescolato”. Avrete anche una certa familiarità con espressioni scientifiche come “prova del nove”, ma non è questo il punto: sapete cos’è un hash table? E una linked list? E un bubble sort? Di certo sapete scrivere, ma sapreste scrivere un codice?

La mistica della creazione del codice

Image for post
Image for post
“Programmo dunque sono”. Questa variante della nota sentenza di Cartesio è diventata il motto dei creatori di codice della Silicon Valley e della loro ipersostenuta cultura. Non per niente l’uomo più ricco del mondo per oltre un trentennio è stato proprio uno sviluppatore, Bill Gates. Della parola Hacker, Mark Zuckerberg ne ha fatto una mistica aziendale

Vikram Chandra è un eccellente romanziere e a quanto pare se ne intende anche di algoritmi. Il suo libro, Geek Sublime, è stato una rivelazione, anche perché è completamente diverso da tutti i suoi lavori precedenti. Geek Sublime, “il sublime del geek”, è un titolo bizzarro e scoraggiante, che però nasconde la reale ambizione del romanzo: indagare a fondo e con grande attenzione le connessioni e le tensioni che collegano il mondo della tecnologia e quello dell’arte, ovvero le due culture. Pur trasformandosi in una sottile disquisizione sull’estetica, la storia è anche in parte autobiografica, poiché racconta la storia di un ragazzo che trova la sua strada dall’India all’Occidente e viceversa, ma anche dalla letteratura alla programmazione e viceversa.

Questa visione dello scontro fra culture appare dunque molto più complessa rispetto a quella di Snow, forse perché Chandra ne ha sperimentate ben più di due. Quando era ancora uno studente e un romanziere in erba, si manteneva programmando computer a Houston, dove iniziò a scoprire la cultura ipersostenuta della Silicon Valley. Sebbene quella dei code warriors, ovvero i creatori di codice, o degli hacker sia una mistica profondamente introspettiva, nonché maschile, aggressiva e fredda, alcuni di loro si considerano artisti, sostenendo di mirare tanto all’efficacia, quanto alla bellezza: “gli sviluppatori sono più creatori che scienziati”, afferma il l’inventore del LISP Paul Graham nel suo manifesto.

Chandra ha saputo cogliere in pieno l’esaltante abilità creativa che queste persone sentono di possedere. Scrive:

Lavoro all’interno di un’allucinazione ordinata e semplificata, in un Maya, che è illusione e non illusione. Il codice che scrivo scatena una magia misteriosa e indecifrabile, che mi permette di spostare oggetti nel mondo reale e di inviare messaggi dall’altra parte del mondo”. Ma basta davvero così poco per potersi definire poeti?

Un “arte” maschile?

Image for post
Image for post
Le “Eniac girls”. Da sinistra verso destra: Patsy Simmers con la scheda madre Eniac; Gail Taylor con la scheda madre Erdvac; Milly Beck con la Ordvac e Norma Stec con la Brlesc-I.

Fra parentesi, la programmazione non è sempre stata un’attività prettamente maschile, al contrario, all’inizio era considerata femminile. Non solo fu inventata una donna, Ada Lovelace, nel 1840, ma erano donne anche i “computer umani” che lavorarono al progetto della bomba atomica nei laboratori di Los Alamos, così come le “Eniac girls”, che negli anni Quaranta programmavano computer per John Von Neumann. Chandra racconta come il settore si sia progressivamente “mascolinizzato” a causa dell’impronta maschile che è stata data ai test attitudinali, i quali hanno provocato un notevole afflusso di quei programmatori che uno psicanalista ha definito “spesso egocentrici e un po’ nevrotici”, coi sandali e la barba lunga, stile “grande saggio”. D’impatto, tutto ciò gli ricorda qualcos’altro, ovvero la politica di genere attuata in India dall‘Impero Britannico.

I colonizzatori si servivano di una retorica che condannava l’effeminatezza dei popoli sottomessi. Scrive Chandra:

Il culto della virilità era uno dei principi su cui si fondava l’Impero Britannico. L’intelligenza e le capacità intellettuali erano collegate indissolubilmente al concetto di virilità, mentre si pensava che le donne e tutti coloro i quali manifestavano sintomi di effeminatezza fossero persone ambigue, irrazionali e troppo emotive. In particolare, si credeva che non sapessero formulare alcun ragionamento di tipo scientifico e che quindi non potessero avere una cognizione di sé o evolversi. Il fatto che le donne non avessero alcun potere e che gli indiani fossero dominati dai britannici sembrava confermare la veridicità di tali asserzioni e quindi l’esistenza delle due culture.

La grammatica generativa

Image for post
Image for post
Il filologo e grammatico indiano Panini, vissuto nel 4° secolo A.C., è considerato il padre della linguistica. Negli otto volumi della sua grammatica sanscrita, l’Ashtadhyayi, raccoglie le regole che governano il linguaggio. Nella illustrazione il francobollo celebrativo emesso dal governo indiano nel 2014

Quando studiavo linguistica all’università (era ancora il ventesimo secolo), andava di moda la “grammatica generativa”, cioè la sintassi algoritmica proposta da Noam Chomsky. Quest’ultimo avanzò l’ipotesi secondo cui tutti i linguaggi esistenti in natura hanno una struttura di base che può essere decodificata e ricostruita secondo un rigido sistema di regole. Ciò che allora non sapevo è che la grammatica generativa è stata inventata in India 2500 anni fa.

Intorno al 500 a. C., il grammatico indiano Panini condusse un’analisi estremamente approfondita del sanscrito, raggiungendo un grado di complessità che non è mai stato eguagliato in nessun’altra lingua. La sua grammatica, l’Ashtadhyayi, raccoglie circa 4000 regole, che permettono di generare tutte le frasi possibili in sanscrito a partire da radici che rappresentano un suono o un significato, ossia i fonemi e i morfemi.

L’opera include poi definizioni, intestazioni e regole operazionali, come “la sostituzione, l’affissazione, l’enfatizzazione e la combinazione”, e infine le “metaregole”, che richiamano le altre regole in modo ricorsivo. Vi suona familiare? La grammatica sanscrita di Panini rivela ben più di una semplice affinità con l’odierno linguaggio di programmazione. Come sostiene Chandra, è la grammatica stessa a essere “un algoritmo, una macchina che fa a pezzi i fonemi e i morfemi per poi comporre parole e frasi”. Non può trattarsi di una semplice coincidenza. Noam Chomsky, rievocando il pensiero di Panini, ha posto le basi del linguaggio di programmazione attraverso la teoria della sintassi americana.

Il percorso di Chandra

Image for post
Image for post
Il primo lavoro letterario di Chandra edito in Italia da Mondadori.

Chandra s’incammina in quella che definisce una città cosmopolita sanscrita: “un ecumene della scrittura e dell’oralità, che si estendeva dall’Afghanistan a Java e che comprendeva decine di regni, lingue e culture”. Si potrebbe pensare che il sanscrito faccia parte del suo bagaglio culturale, ma durante e dopo il colonialismo europeo era stata progressivamente isolata. Chandra trovava noioso il modo in cui il sanscrito era insegnato nelle scuole: “puzzava di ipocrisia, di oscurantismo religioso, delle fissazioni borghesi dell’estrema destra indiana e, quel che è peggio, di un’oppressione vecchia migliaia di anni”. La lingua ufficiale era invece l’hindi, che lo scrittore definisce “la lingua dei conquistatori”, scrivendo in inglese.

Prima di arrivare al sanscrito, Chandra s’interessa ai linguaggi della programmazione, che descrive con cura, come in un bestiario, dal rudimentale PL/1 al banale Visual Basic della Microsoft, fino al richiestissimo Clojure, “la moda del momento”, e all’“esoterico” Malbolge, il cui nome deriva, non a caso, dall’ottavo cerchio dell’Inferno dantesco.

In seguito, comincia a scrivere il suo primo romanzo, Terra rossa e pioggia scrosciante, che ha per protagonista un poeta. Si chiede cosa renda bella una poesia, per poi tornare indietro, coprendo le distanze culturali, fino ad arrivare ai testi tantrici del primo millennio e alla cosmologia di Abhinavagupta, alla ricerca di un livello estetico che la codificazione non può raggiungere.

In fin dei conti, la poesia e la logica hanno ben poco in comune. La poesia è paziente, ma può addentrarsi nell’oscurità dell’immenso. Anche la programmazione è tuttavia uno strumento potente, secondo Chandra, poiché “agisce e interagisce con se stessa e con il mondo”, trasformando così anche il nostro modo di pensare:

Siamo già abituati a filtrare le nostre esperienze attraverso i software. Facebook e Google ci offrono una visione del mondo che può essere manipolata, ma che può manipolarci a sua volta. Il linguaggio autocosciente dei siti web, delle applicazioni e della rete resta inciso dentro di noi.

Basta dunque intendersene programmazione per poter dire di essere colti? No di certo. Ad ogni modo, faremmo meglio a interessarci un po’ di più al codice, perché presto saranno il codice a interessarsi a noi.

Written by

Graduated in European history in Florence, he started working in publishing soon after having come across a Mac computer in 1984

Get the Medium app

A button that says 'Download on the App Store', and if clicked it will lead you to the iOS App store
A button that says 'Get it on, Google Play', and if clicked it will lead you to the Google Play store