Come abbiamo già detto, tra i vecchi linguaggi di programmazione quello che ci incuriosisce di più è il Forth: non tanto per il linguaggio in sé, che nemmeno capiamo, ma per gli effetti che ha avuto sugli smanettoni. I pochi accaniti del Forth lo usano più che altro per scrivere la loro versione del Forth. Devono esisterne centinaia di versioni e anzi un programmatore non può definirsi un vero guru del Forth finché non ha fatto la sua. Un po’ come se ogni falegname usasse i suoi attrezzi solo per costruire altri attrezzi, che userà soltanto lui per costruire altri attrezzi, e così via*.
In teoria, siccome stiamo parlando di software e non di poesia, arrivati a un certo punto dovrebbe esserci qualche criterio oggettivo per stabilire qual è il “miglior Forth” e smetterla di baloccarsi per farci qualche applicazione. Ma questo in realtà non accade mai perché ci sono tante piattaforme diverse e tanti criteri di valutazione diversi: un Forth è più veloce per certe funzioni ma non per altre, su certe piattaforme ma non su altre, occupa più o meno memoria, è più o meno flessibile etc etc. Quindi la complessità e l’alto numero di parametri rendono impossibile un confronto definitivo e ogni smanettone continua serenamente ad affinare il suo Forth per tutta la vita, come un puro gioco. Le loro incomprensibili discussioni tendono a somigliare a un dibattito artistico o filosofico, un confronto tra visioni del mondo basate su quelli che noi chiameremmo “valori” e che in effetti sono mere idiosincrasie e petizioni di principio (appunto come tutti i “valori”).
Ma il problema vero è che per capire le sottigliezze del dibattito filosofico sul Forth servirebbe una conoscenza approfondita del Forth, perché le minuzie che fanno la delizia di questi fortunati mentecatti sono sepolte a un livello molto basso della macchina, molto vicino al moto delle rotelle logiche che costituiscono i processori. Ogni tentativo di descrizione con categorie note al pubblico (ad es. questo) implica una generalizzazione e semplificazione eccessiva, che nasconde proprio il punto fondamentale. E’ come per le divulgazioni della matematica o della fisica che per raggiungere il popolo ricorrono al pallottoliere o descrivono le particelle come palline, quando il punto è proprio che i numeri non sono pezzetti di legno e le particelle non sono palline. Questa enorme distanza tra la “realtà veramente vera” e il popolo è uno dei motivi per cui troviamo la narrativa contemporanea così poco interessante. Libri che parlano di coppie innamorate, di frustrazioni sul lavoro, di camorre, di programmatori che fanno i soldi vendendo l’anima, tutta roba che cambiando pochi elementi dello sfondo poteva essere scritta anche nel diciannovesimo secolo, e infatti è stata anche scritta, e probabilmente molto meglio di come viene scritta adesso.
La letteratura non sta dietro alla complessità, nemmeno lontanamente, e va avanti così da almeno un secolo. Chi scriverà il grande romanzo dei mentecatti del Forth? Chi farà lo sforzo immane di tradurre quella complessità senza puerili scorciatoie, senza credere che basti dire “era il Leonardo da Vinci del Forth” per trasmettere la sostanza? Perché il crimine di gran parte della letteratura è proprio la facilità, la volgare tentazione della facilità, dell’immagine elementare, della metafora popolare. Elia Spallanzani, dal profondo della sua miseria e del suo incacaggio, sentì che la narrativa si stava ritirando dal mondo, non riusciva più a comunicare la complessità e anzi cercava in tutti i modi di schivarla. Cercò anche di scrivere un romanzo su questi programmatori e il delirio in cui stavano sprofondando, ma si accorse appunto che non sapeva bene di cosa stava parlando e che prima avrebbe dovuto calarsi in una forma mentale dalla quale forse non c’era ritorno.
P.S. Comunque è esistito almeno un personal computer che al posto del basic aveva il forth: facile immaginare come sia finita.
*Leggendo i forum dei programmatori anziani si nota che spesso fanno questo discorso: “trent’anni fa volevo fare un giochino dove due carrarmati si sparano ma pensandoci meglio ho deciso che sarebbe stato più conveniente creare un programma per creare giochi di questo tipo, e mentre lo scrivevo mi sono accorto di quanto è poco efficiente e razionale il basic di questo computer e allora ho pensato che sarebbe stato più conveniente realizzare una versione del c++ che giri su un computer di quarant’anni fa, ma mentre lo stavo facendo ho capito che anche c++ ha i suoi difetti e quindi ho cominciato a lavorare a “Eccì!”, la mia versione super ottimizzata, che dopo quattro lustri è finalmente giunta alla versione beta! Allego tutti i file e tremila pagine di miei appunti per chiunque volesse partecipare al divertimento a a a!”.
Il fatto che a questi messaggi non risponda mai nessuno non li scoraggia assolutamente. Sono paghi di aver lavorato per trent’anni su qualcosa che non finiranno mai e che comunque non userà mai nessuno. Nel loro caso davvero si può dire che lo fanno per amore dell’arte. Molto probabilmente solo questa è arte. Ecco dov’è andata a finire, mentre voi facevate i biglietti scontati per andare in un museo forestiero a vedere tele bruciate e cessi rotti.
P.P.S. Il vecchio programmatore aveva questa fede: “siccome ho una macchina straordinaria basata su un livello di astrazione che le permette in un certo senso di fare di tutto, allora sarebbe squallido usarla per realizzare un solo “oggetto” e non invece uno strumento per creare oggetti, quanto più generale tanto meglio”. Attitudine che in parte esiste ancora nei giovani programmatori, ma assai smorzata dal loro essersi venduti in massa al sistema che pretende un prodotto ora, o comunque entro l’anno. Lo stesso declino è avvenuto in tutti i campi. I creatori di sistemi scompaiono, al loro posto rimangono:
- i giornalisti, che si accontentano di dire ogni giorno la stessa cosa cambiando qualche parola;
- i divulgatori, che sono giornalisti di fatti più lenti: copiano qualche vecchio sistema di pensiero, ne staccano un pezzo e lo banalizzano;
- gli studiosi pop, che fanno esattamente come i divulgatori ma rivestono il compitino di un gergo che non lo renda proprio accessibile a chiunque, altrimenti li scambierebbero appunto per divulgatori.
Queste tre categorie in realtà sono così vicine che spesso uno stesso individuo riveste tutti e tre i ruoli.