Wilkes, Maurice (1913-2010)

Alla fine del conflitto mondiale era stato chiesto a Maurice Wilkes, fisico matematico, di far ripartire le attività del laboratorio di Matematica della Università di Cambridge in Inghilterra. Nell’estate del 1946 accettò quindi con molto interesse l’invito a partecipare al corso estivo della Moore School di Filadelfia; il suo interesse, al contrario di quello dei colleghi d’oltre oceano, era di realizzare velocemete ed a basso costo una piccola macchina allo scopo di dotare il Laboratorio di uno strumento elettronico di calcolo.

Fu questo approccio pragmatico  che gli permise di battere sul tempo molti altri progetti, riuscendo rapidamente ad ottenere l’approvazione e realizzando una macchina di moderata complessità. Il 6 maggio 1949 infatti il suo “Electronic Delay Storage Automatic Calculator” (EDSAC) eseguì il primo programma.

In realtà altre piccole macchine sperimentali (l’ABC in USA e la “Manchester Baby Machine”) avevano già eseguito dei programmi, ma l’EDSAC aveva la potenza e le caratteristiche per essere realmente utilizzata come strumento produttivo, sul quale effettuare calcoli.

Insieme al “Manchester Mark 1” realizzato sotto la guida di Freddie Williams all’Università di Manchester, che era funzionante già da aprile 1949, queste due macchine furono i primi calcolatori elettronici a programma memorizzato ad eseguire un programma.

Wilkes aveva subito dedicato particolare attenzione agli aspetti della programmazione, sviluppando la convinzione che per scrivere le istruzioni eseguibili dalla macchina (in pratica una lunga sequenza di 0 e 1 incomprensibile per gli umani) fosse necessario adottare una simbologia comprensibile al programmatore, cioè utilizzare dei codici mnemonici per rappresentare ciascuna istruzione.

La stessa macchina avrebbe dovuto occuparsi di “decodificare” i simboli producendo la sequenza di bit corretta. Il compito di sviluppare il primo programma di decodifica fu assegnato da Wilkes come tesi di dottorato a uno studente di 21 anni che si era recentemente unito al gruppo di Cambridge, David Wheeler.

Questo programma fu chiamato “Initial Orders”. Ben presto Wilkes si rese conto di una realtà probabilmente inattesa, che avrebbe avuto grande rilevanza nella attività di programmazione: la difficoltà di scrivere programmi corretti. Lo stesso Wilkes anni dopo osserverà: “Fu durante uno dei miei tragitti fra la stanza dell’EDSAC e quella delle macchine perforatirici di schede [situata su un altro piano] che esitando all’angolo delle scale mi resi perfettamente conto che una buona parte del resto della mia vita sarebbe stata spesa a trovare gli errori dei miei stessi programmi”.

Un altro contributo di Wilkes specialmente importante nel campo del software fu l’introduzione del concetto di subroutine, cioè la possibilità di riutilizzare segmenti di codice già pronti e collaudati. Nel 1951 lui e il suo team (David Weeler e Stanley Gill) pubblicarono il primo manuale software della storia The Preparation of Programs for an Electronic Digital Computer, with Special Reference to the EDSAC and the Use of a Library of Subroutines che, seppur riferito all’EDSAC, conteneva molti concetti generali sulla programmazione che fecero scuola per la nascente comunità dei programmatori anche di altre macchine.


Fonti

error: