Dennis Ritchie: L'autore silenzioso della grammatica del mondo digitale
Durante una conferenza di informatica, invece di affrontare il riconoscimento che il suo nome attirava, Dennis Ritchie si limitò a scambiare il cartellino del nome con un estraneo per poter parlare di lavoro senza essere disturbato. È un'immagine calzante per un uomo le cui due creazioni — un linguaggio di programmazione e un sistema operativo — si trovano ora sotto quasi ogni telefono, server e computer portatile sulla Terra, mentre lui stesso è rimasto, secondo le parole di un collega, "un uomo tranquillo e per lo più riservato".
Harvard, la fisica e una deviazione verso l'informatica
Dennis MacAlistair Ritchie nacque il 9 settembre 1941 a Bronxville, a Eastchester, New York, figlio di uno scienziato dei Bell Labs. Conseguì una laurea in fisica ad Harvard nel 1963 e un dottorato in matematica applicata nel 1968, prima di entrare nei Bell Telephone Laboratories nel 1967, seguendo le orme del padre nell'azienda che avrebbe definito l'intera sua carriera. Il suo lavoro di dottorato rimase tecnicamente incompiuto nel senso formale descritto da alcuni resoconti, ma a quel punto l'informatica, e non la fisica, lo aveva conquistato.
Da Multics a un PDP-7 in un angolo
I primi anni di Ritchie ai Bell Labs furono spesi su Multics, un ambizioso sistema operativo di time-sharing realizzato congiuntamente da MIT, Bell Labs e General Electric. Quando AT&T si ritirò dal progetto costoso e ingombrante nel 1969, Ritchie e il collega Kenneth Thompson si trovarono con un minicomputer DEC PDP-7 inutilizzato e nessun progetto autorizzato. Ciò che seguì, nel giro di pochi mesi, fu la creazione di un successore più snello ed elegante: un sistema operativo che Thompson e Ritchie chiamarono Unix, deliberatamente semplice dove Multics era stato barocco, e costruito attorno all'idea che un piccolo insieme di strumenti componibili potesse fare di più di un unico monolite tentacolare.
Progettare C per far progredire Unix
Le prime versioni di Unix furono scritte in gran parte in linguaggio assembly, legando strettamente il sistema a un hardware specifico, esattamente il problema che un nuovo sistema operativo portatile avrebbe dovuto risolvere. Intorno al 1971-1972, mentre il team lavorava per effettuare il porting di Unix sul PDP-11, Ritchie progettò il linguaggio di programmazione C, basandolo sul precedente e più limitato linguaggio "B" di Thompson. C dava ai programmatori un controllo di basso livello paragonabile all'assembly pur rimanendo portabile tra diverse macchine, e nel 1973 Ritchie e Thompson avevano riscritto il nucleo di Unix in C, una decisione che permise a Unix di diffondersi su nuovo hardware con una velocità e una fedeltà che nessun sistema operativo precedente era riuscito a gestire. C e Unix si rinforzarono a vicenda: Unix dimostrò ciò che un linguaggio come C poteva costruire, e la diffusione di C sulla scia di Unix ne fece, nel giro di un decennio, uno dei linguaggi di programmazione più ampiamente utilizzati al mondo, dando in seguito vita a C++, Java e a gran parte della linea della famiglia C che domina ancora oggi il software.
Venti domande, otto minuti di orologio e un percentile misurato su tutti quelli che l’hanno fatto. Senza registrazione.
Fai il test del QI →Un libro, un manuale e uno standard
Nel 1978, Ritchie fu coautore di The C Programming Language insieme a Brian Kernighan, un volume agile e scritto con precisione che divenne la specifica de facto del linguaggio per anni prima della standardizzazione formale e che introdusse generazioni di programmatori all'esempio "Hello, world", ancora oggi usato per insegnare la prima riga di codice. Aveva precedentemente scritto l' Unix Programmer's Manual nel 1971, documentando il sistema per i suoi primi utenti ai Bell Labs. Nel 1990 Ritchie divenne capo del dipartimento di ricerca sul software di sistema dei Bell Labs, dove supervisionò i successivi sistemi operativi Plan 9 e Inferno, commercialmente meno di successo ma tecnicamente influenti, estensioni della stessa filosofia di progettazione che aveva generato Unix due decenni prima.
Il riconoscimento arriva lentamente, poi tutto in una volta
Ritchie e Thompson condivisero il Turing Award nel 1983, il massimo riconoscimento dell'informatica, per il loro lavoro su Unix; un premio la cui motivazione attribuiva al design "generico" del sistema operativo la sua enorme influenza successiva. Ritchie fu nominato Bell Labs Fellow lo stesso anno, eletto alla National Academy of Engineering nel 1988 e, nel 1999, ricevette la National Medal of Technology dal Presidente Clinton insieme a Thompson. Nel 2011, poco prima della sua morte, ricevio il Premio Giappone. Nonostante ciò, Ritchie rimase ampiamente assente dalla vita pubblica rispetto a colleghi di simile importanza, rilasciando poche interviste ed evitando quel genere di celebrità che accompagnava alcuni dei suoi contemporanei della Silicon Valley.
Morte
Ritchie morì nell'ottobre del 2011 nella sua casa di Berkeley Heights, nel New Jersey, all'età di 70 anni, dopo una lunga malattia, essendosi ampiamente ritirato dalla vita pubblica nei suoi ultimi anni. La sua morte, avvenuta a pochi giorni di distanza da quella di Steve Jobs, ricevette una copertura comparativamente sottotono, uno squilibrio che molti nella comunità tecnica fecero notare con forza, dato che i sistemi operativi alla base dei prodotti di Jobs discendevano direttamente dal lavoro di Ritchie.
Perché Dennis viene definito un genio
Il caso a favore del genio di Ritchie si fonda su un tipo di risultato intellettuale specifico e ben documentato: la progettazione di astrazioni — un linguaggio, un modello di file e processi per sistemi operativi — che si sono dimostrate durevoli e generative ben oltre il loro scopo originale e ristretto di rendere utilizzabile il minicomputer di un laboratorio. I colleghi che hanno lavorato al suo fianco, tra cui Rob Pike, lo hanno definito non solo abile, ma "una mente veramente grande", e la citazione del comitato del Turing Award per Unix ha elogiato esplicitamente la generalità di un design costruito per risolvere il problema interno di un'azienda ma sufficientemente flessibile da diventare il substrato per la maggior parte dell'infrastruttura informatica mondiale. Questo è un registro di realizzazione genuinamente diverso dall'artigianalità o dal carisma: è ingegneria concettuale, giudicata da colleghi competenti per valutarla e validata da cinque decenni successivi di adozione quasi universale sia di C sia dei discendenti di Unix. La complicazione onesta è che Ritchie ha lavorato raramente da solo — Unix è stato esplicitamente una creazione congiunta con Thompson, e il design di C ha assorbito idee già circolanti in linguaggi precedenti — quindi il genio qui è collaborativo e incrementale piuttosto che un singolo salto senza precedenti, e Ritchie stesso, secondo tutte le testimonianze, avrebbe rifiutato l'etichetta come esagerata per quello che considerava un lavoro di ingegneria pratica.
Eredità
I discendenti e le reimplementazioni di Unix — tra cui Linux, BSD e il kernel Darwin di macOS — gestiscono ora la stragrande maggioranza dei server, dei telefoni e dei dispositivi embedded del mondo, mentre C rimane fondamentale per il lavoro sui sistemi operativi e sulla programmazione di sistema mezzo secolo dopo la sua creazione. L'influenza di Ritchie è insolita in quanto opera quasi interamente sotto la superficie: a differenza dei tecnologi orientati ai consumatori, il suo nome è ampiamente sconosciuto al di fuori dell'informatica, anche se miliardi di persone dipendono quotidianamente, senza saperlo, dagli strumenti che lui ha costruito su una scrivania di laboratorio nel New Jersey.
