FYI.

This story is over 5 years old.

Tecnologia

Il programmatore settantenne che custodice il suo vecchio codice su GitHub

Dave Shields sta cercando di salvare il suo vecchio linguaggio macchina che rischia di essere perduto per sempre.
Immagine: Flickr/Dave Shields

Dave Shields sta cercando di salvare un linguaggio macchina che rischia di essere perduto per sempre.

Shields programma da più di 50 anni, negli anni ha lavorato sia alla NYU che all'IBM come ricercatore, insomma un personaggio di quelli che hanno contribuito ad ampliare i confini dell'arte di programmare. Nel corso della sua carriera, ha raggiunto diversi traguardi di cui vantarsi, incluso quello di essere stato uno dei sviluppatori dietro a Jikes, un compiler di Java che costituì anche il primo progetto open source della IBM.

Pubblicità

Ma ora Shields, settantenne e in pensione, è interessato a una sola cosa: un oscuro linguaggio di programmazione chiamato SPITBOL su cui aveva lavorato negli anni Settanta per poi abbandonarlo per trent'anni.

Dave (a destra) assieme all'informatico Jack Schwartz nel 1975. Foto: Flickr/Dave Shields

SPITBOL è una implementazione semplificata di un linguaggio di programmazione degli anni Sessanta noto come SNOBOL4, scritto da Robert Dewar, racconta Shields. È molto asciutto: 28.000 righe di codice in tutto metà delle quali costituita da commenti ed è pensato principalmente per manipolare testi, simboli e riconoscere pattern. SNOBOL4, all'epoca, veniva percepito come potente ma lento per cui SPITBOL venne creato per girare più velocemente.

Ora Shields cerca di mantenere in vita SPITBOL tutto da solo come un progetto open source ospitato su GitHub. Da quando ha messo il progetto online nel 2009, Shields è stato il solo contribuire allo suo sviluppo, anzi, sempre da solo, ha riconfigurato il linguaggio pensato per girare su un supercomputer degli anni Sessanta, il CDC 6600, perché funzionasse sui moderni sistemi operativi Linux e Mac.

"Credo che GitHub sarà in giro per i prossimi vent'anni" mi ha detto Shields al telefono, "ora è davvero possibile creare software che potranno sopravvivere a lungo. Qualsiasi altra cosa abbia scritto, invece, è stata memorizzata su nastro magnetico ed è andata perduta per sempre".

Manuali e documentazione di SNOBOL e SPITBOL. Foto: Mark Emmer

L'obiettivo di Shields è di creare implementazioni di SPITBOL per più linguaggi di programmazione moderni possibile (Go di Google, ad esempio) in modo che la gente possa continuare a utilizzarlo anche dopo la sua morte. "Sto lavorando con questo codice che ha più di 50 anni pensando a cosa posso farci ora, così che la gente possa utilizzarlo in futuro", ha spiegato Shields.

Pubblicità

SPITBOL è scritto a livello di linguaggio assembly, codice di basso livello che si interfaccia quasi direttamente con l'hardware. Dato che oggi gran parte della programmazione viene effettuata a livelli più alti, Shields ritiene che SPITBOL sia una parte importante della storia dei software. "Ciò che lo rende speciale è il fatto di essere il più elegante esempio di programmazione a livello macchina ancora in vita, l'arte di scrivere a livello macchina è andata perduta".

"In un caso SPITBOL è stato utilizzato per analizzare i dati rubati agli utenti di Ashley Madison"

Negli anni Settanta Shields smise di lavorare su SPITBOL. Nel 1987 il programmatore Mark Emmer prese le redini del progetto dopo aver usato per anni SNOBOL4. Il codice gli venne fornito da Dewar su un floppy disk e nel corso del decennio seguente Emmer mantenne SPITBOL in vita creando versioni utilizzabili sulle macchine Mac, Windows e Unix dell'epoca, riuscendo anche a crearci un business gestito da casa per vendere il software via posta su ordinazione. Nel 1994 anche Emmer abbandonò SPITBOL.

"Nonostante amassi programmare e mi piacesse il rapporto con i clienti, non potevo ricavarci guadagni sufficienti per garantirmi una pensione decente", mi ha scritto Emmer via mail, "così, nel 1994, ho ripreso alcuni vecchi contatti di lavoro e mi sono occupato dello sviluppo di sistemi embedded di basso livello finché, nel 2009, non sono finalmente andato in pensione per poi trasferirmi in Messico."

Pubblicità

Ora qualsiasi cosa abbia a che fare con SPITBOL, nastri e dischetti vecchi di decenni, si trova ritirata in scatole di cartone trasportate dal Colorado alla nuova dimora in Messico di Emmer. Il 2009 però è stato anche un anno di novità inattese.

Proprio quando Emmer stava andando in pensione, Shields decise di rimettersi in gioco. Emmer ha così inviato a Shields un file .zip con tutto quello di cui necessitava e quest'ultimo ha iniziato a lavorare sul modo di importare il tutto su GitHub. Sei anni dopo Shields è ancora coinvolto nel progetto, sperando di mantenerlo in vita per i posteri.

Mark Emmer. Foto: Mark Emmer

"Sono contentissimo" ha scritto Emmer, riferendosi al progetto di Shields, "si tratta di un codice straordinario e di un tributo al genio implementativo di Robert Dewar".

In un post sul suo blog datato 2012 Shields descrive il suo ruolo di unico contributore alla trasposizione di SPITBOL su GitHub, la quale è recentemente giunta all'attenzione di Hacker News, Shields proclama di essere l'unico utente di SPITBOL al mondo. Questo è da intendersi in senso ironico, mi ha spiegato al telefono: non è davvero l'unico utente, semplicemente non ha ricevuto molti feedback sul suo lavoro.

"Ho realizzato che ciò di cui mi importava veramente non era la notorietà, quanto il lavoro in sé"

Tanto per fare un esempio, esiste un gruppo di Yahoo abbastanza attivo incentrato su SNOBOL4 e SPITBOL, all'interno del quale gli utenti descrivono l'utilizzo di SPITBOL nelle mailing list e, in un caso, per l'analisi del database degli utenti di Ashley Madison.

Ma in fin dei conti, una base di utenti ampia o ristretta non interessa a Shields tanto quanto il piacere ultimo di programmare.

"È una cosa che ho imparato lavorando a Jikes," ha ricordato Shields, "abbiamo vinto un bel po' di premi ed era un bell'affare all'epoca, ma guardandomi indietro ho capito che ciò di cui mi importava veramente non era la notorietà, quanto il lavoro in sé. È stato quello a regalarmi le più grandi soddisfazioni e i migliori ricordi. Questo è come mi sento anche riguardo a SPITBOL".