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, Chandra traccia subito un parallelo sublime:
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.
Questo era anche il mantra di Steve Jobs che ripeteva ai suoi collaboratori vedendo un dettaglio trascurato: “Se sei un buon falegname non appiccichi una lastra di compensato dietro un armadio perché nessuno la vede”. Capito Ikea!
La storia, in parte autobiografica, che Chandra racconta riguarda la possibilità di far coincidere l’illuminazione estetica con la perfezione matematica.
Egli 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 due parole racchiude l’essenza del romanzo di Chandra. 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 indiano Panini nel 500 a.C.
Analogie tra linguaggio di programmazione e lingua sanscrita
Il compito del programmatore è di scrivere un codice sorgente, servendosi di un linguaggio che risulta affine a quello umano persino nel tipo di errori, come quelli sintattici o semantici, in cui può incorrere.
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 linguistiche 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.
Un altro dualismo da superare
Il mondo dello sviluppo del software è inoltre dominato dalla cultura maschile che viene indentificata con la razionalità e la logica.
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.
Nel mondo dell’ICT, molte donne hanno invece contribuito al suo sviluppo, a partire dall’inglese Lady Ada Lovelace, che inventò la programmazione dei computer nel XIX secolo.
Furono poi alcune donne 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 il grande matematico John Von Neumann.
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 di una sintesi della recensione di James Gleik, pubblicata sul NYTimes, al libro di Vikram Chandra A Unified Theory.
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.
L’abisso di incomprensione tra scienziati e umanisti
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”.
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
“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 ha fatto poi una mistica aziendale.
Il libro di Chandra 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. Quella di 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.
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 dei 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, 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?
La grammatica generativa
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”.
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.
Chandra in Italia
Si potrebbe pensare che il sanscrito faccia parte del suo bagaglio culturale, ma durante e dopo il colonialismo europeo era stato progressivamente isolato.
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 intendersi di programmazione per dire di essere colti? No di certo. Ad ogni modo, faremmo meglio a interessarci un po’ di più al codice, perché presto sarà il codice a interessarsi a noi.