Il codice poetico
Come la semplice lettura di uno spartito musicale è sufficiente al musicista esperto per riconoscere le più vellutate variazioni armoniche di un brano orchestrale, così l’apparente freddezza di un frammento di codice di programma può stimolare nello sviluppatore informatico emozioni di estatica contemplazione.
Non tragga in inganno la semplicità della laconica definizione del codice come una sequenza di istruzioni da fornire a un elaboratore per la risoluzione di uno specifico problema. In generale, il problema stesso ha molteplici soluzioni: la più semplice e veloce da implementare, la più economica dal punto di vista dei cicli macchina o della memoria, la soluzione elegante e la soluzione improvvisata.
Tuttavia esiste sempre anche una soluzione “poetica“, quella dotata di una particolare e inusitata bellezza che sempre viene generata dall’inesauribile fucina dell’intuito umano dello sviluppatore, in un istante di imprevista creatività che generalmente coglie di sorpresa anche l’autore stesso.
Il codice è un linguaggio usato per comunicare con i computer. Dispone di proprie regole sintattiche e semantiche e come per gli scrittori o i poeti, anche ciascuno sviluppatore di codice ha un suo stile personale, riconoscibile e riconducibile all’autore.
Il codice può parlare di letteratura, matematica o logica e contiene diversi livelli di astrazione. Si connette al mondo fisico dei processori e dei chip di memoria realizzando il necessario ponte di integrazione tra un’idea (astratta) e un’azione fisica (concreta: un risultato, un’immagine, un clip multimediale, ecc.).
Un brano di codice software assume la dignità di “poesia” nel momento in cui l’artefice abbandona gli schemi del metodo e amplia la propria visione oltre ogni barriera riduzionista. Paul Feyerabend, il noto filosofo della scienza, nel suo trattato “Contro il metodo” ci ricorda che: “data una qualsiasi regola, per quanto “fondamentale” o “necessaria” per la scienza, esistono sempre circostanze in cui è consigliabile non solo di ignorare la regola stessa, ma di adottare il suo opposto“.
Richard Gabriel (matematico, ricercatore informatico, poeta e scrittore) ha recentemente proposto un “Master of Fine Arts in Software“con lo scopo di mediare all’interno della pratica del software gli stessi percorsi creativi dell’artista di Belle Arti. In una recente intervista, Gabriel ha dichiarato: “Quando scrivo poesie, il centro del mio pensiero va a collocarsi in un luogo particolare, senza barriere e senza schemi preordinati, dove mi ritrovo faccia a faccia con me stesso. Quando scrivo codice software, mi accorgo di trovarmi esattamente nello stesso luogo, il centro della creatività personale“.
Il luogo a cui si riferisce Richard Gabriel è quel “luogo senza luogo” sempre presente a orientarci e a guidarci, laddove si ricompone l’autentica e originaria unità del sapere e dove l’artefice nuota nella sua creatività.
A proposito delle funzioni di artefice dell’uomo creativo nell’azione tecnico-pratica, riporto un bellissimo pensiero del filosofo Giuseppe Lampis, tratto dal suo articolo “Homo Faber“:
“L’artefice è l’uomo completo di tutte le sue potenze inscritto nel pentagono, da ultimo da Leonardo all’alba della modernità e prima di lui da Vitruvio e prima ancora da antiche tradizioni sapienziali“.