La laurea è importante. La laurea a Harvard è un coronamento notevole di un curriculum studiorum.
Infatti c’è gente di valore che si interroga su come sia possibile arrivare a una tesi già corretta in prima battuta, a cui manca una manciata di correzioni ortografiche per essere definitiva, e non presentarla. Soprattutto se si considera chi lo ha fatto.
Perché sì, Dennis Ritchie ha di fatto completato la propria tesi di PhD a Harvard ma non l’ha mai presentata. Ritchie, per inquadrare il soggetto, è un coinventore del linguaggio C. In altre parole, se ci fosse un omologo di monte Rushmore dedicato all’informatica, è probabile che scolpito nella roccia ammireremmo il suo faccione.
Come nei migliori romanzi da enigma e mistero, la tesi fu dimenticata per anni fino alla sua riscoperta nel 2011 da parte della sorella di Ritchie, Lynn.
Nel riguardarla insieme a Brian Kernighan, compagno di Ritchie nella realizzazione di C, il figlio William si accorse che la qualità tipografica della tesi stessa era quasi inspiegabile rispetto alle risorse allora disponibili.
Nel 1968 infatti Donald Knuth doveva ancora elaborare TeX, lato software. Lato hardware, mancavano quasi vent’anni alle stampanti laser e non c’erano neanche quelle ad aghi e matrice di punti; lo stato dell’arte erano le Selectric di IBM con le loro palle da golf: la testina era sferica e cosparsa in rilievo dai singoli caratteri. La palla da golf ruotava per inchiostrare il carattere scelto e imprimerlo sul foglio. Il grande vantaggio era l’intercambiabilità delle testine, su ognuna delle quali potevano trovarsi set di caratteri differenti. Certo non era una operazione veloce, né efficiente.
Di conseguenza, quasi tutte le tesi con una modesta presenza di notazione matematica vedevano queste parti scritte a mano, per economia di tempo e di risorse. Per chiarirci, la versione finale a quei tempi la produceva un tipografo professionista, altro che desktop publishing.
Quela di Ritchie, no. C’era qualcosa fatto a mano, certe parentesi molto lunghe verticalmente a coprire più righe di testo, per esempio. Ma molto era fatto a macchina, e non solo: c’era una precisione maniacale nelle spaziature. C’erano tabelle tipograficamente perfette nel posizionamento dei caratteri. C’erano mezze spaziature verticali, che ottenere con una Selectric sapeva veramente di esoterico. E la tesi, soprattutto, era zeppa di notazione matematica, ascendenti, discendenti e altri incubi della preistoria della tipografia elettronica.
La spiegazione generica più probabile è che Ritchie si sia avvalso dei primi programmi Unix che consentivano un qualche controllo sulla notazione matematica. Anche qui, però, le date non corrispondono o sono al limite. O Ritchie aveva a disposizioni versioni preliminari, o si è sviluppato dei tool poi andati perduti, o… che?
L’idea che un tipografo geniale e volenteroso abbia sacrificato molte notti di lavoro per comporre minuziosamente una tesi zeppa di equazioni e segni complessi, per uno studente (A Harvard Ritchie non era più di quello), è da scartare.
La curiosità uccide il gatto e invece scatena i programmatori. Così Kernighan, Ritchie junior e un ricercatore dell’università di Nottingham si sono messi al lavoro per cercare di riprodurre la tesi di Ritchie adattando i mezzi di produzione disponibili oggi alle condizioni di lavoro plausibili nel 1968.
È un racconto affascinante e con qualche sorpresa. I tre sono riusciti finora solo parzialmente a raggiungere l’obiettivo. Davvero, come possa avere Ritchie ottenuto la qualità tipografica della propria tesi negli anni in cui l’ha scritta, resta in parte ancora un dilemma.
Negli anni ottanta mi è capitato di assaggiare una briciola della stessa medicina. Lavoravo alla casa editrice J.Soft e producevamo pubblicazioni destinate agli utilizzatori di Sinclair Spectrum, Commodore 64, TI-99 4/A eccetera. Le stampanti correnti, ad aghi o termiche, andavano benissimo, ma i listati riprodotti sulle riviste facevano schifo. Volevamo battere la concorrenza con una leggibilità superiore. Ai tempi, il pubblico comprava le riviste per copiare i listati nel computer.
Si spese una somma considerevole per prendere una stampante IBM a margherita: la palla da golf era diventata un circoletto cui erano attaccati tutto intorno i caratteri, collegati al circolo centrale da un gambo. La testina ruotava su un unico asse (a differenza della palla da golf, le testine erano bidimensionali) e posizionava il carattere giusto davanti al foglio.
L’esito era perfetto, molto meglio di un ottimo dattiloscritto. Ma riuscire a creare interfacce dai diversi computer alla stampante non fu affatto facile, né trovare il modo di normalizzare i vari set di caratteri per adattarsi a quello che poteva offrire la margherita. Erano passati almeno quindici anni dalla tesi di Ritchie, ma se avessero chiesto a noi di stampare notazione matematica, non avremmo cavato un ragno dal buco.
La seconda briciolina mi è capitata nei primi anni duemila, in Hops Libri, una piccola casa editrice specializzata in testi tecnici e orgogliosa del suo accordo con O’Reilly, l’editore più autorevole del tempo in materia.
Dentro l’accordo avevamo l’opzione di tradurre la prima edizione di Mastering Regular Expressions. Era un libro accuratissimo, con una tipografia incredibile. L’autore aveva creato una notazione a base di fondini grigi, sottolineature sopra e sotto, circoletti e altro per indicare ogni parte saliente di una espressione regolare nel corso del suo funzionamento.
La traduzione si scontrò subito con il problema di tenere traccia di tutto l’apparato messo a punto dall’autore, senza avere strumenti per farlo. L’idea di ricreare a mano graficamente tutto quanto dentro l’impaginazione (dovevamo usare… Adobe FrameMaker e non dico altro) per centinaia di pagine con precisione al singolo carattere era una follia.
Chiedemmo aiuto all’autore, un nerd sdegnato e ombroso che dopo molte insistenze accettò di mandarci il codice sorgente della sua stesura e rifiutò di fornirci il minimo supporto.
Il codice sorgente era un immenso blob di testo codificato, che lui aveva realizzato tramite l’uso magistrale di comandi Unix come tron
, troff
, sed
, awk
eccetera. Ma non avevamo alcune istruzione su come procedere, che cosa avesse fatto esattamente, in che ordine, niente.
Alla fine ci arrendemmo (Mac OS X era anche arrivata da pochissimo e non c’era questa profondissima cultura Unix). Trent’anni dopo l’impresa di Ritchie, che se avesse visto il nostro blob si sarebbe fatto una risata e in capo a un quarto d’ora avrebbe iniziato a farlo cantare.
Qual è la morale? Boh. Si può scegliere di riflettere sull’enorme patrimonio di potenza che dorme misconosciuto dentro il Terminale. Oppure pensare a quanto la tipografia sia importante, quanto possa fare per noi il computer, e quanto la trascuriamo. Direi che vince pazienza se non sei laureato a Harvard, puoi comunque combinare qualcosa.