Margaret Hamilton

Margaret Hamilton: L'ingegnere che ha dato il nome al software

A tre minuti dalla superficie lunare, il computer di guida dell'Apollo 11 iniziò a emettere allarmi. Buzz Aldrin aveva inviato un ottavo compito simultaneo a una macchina progettata per gestirne sette. L'atterraggio avrebbe potuto essere interrotto lì. Non lo fu, perché la donna che gestiva il software aveva ipotizzato anni prima che qualcosa di esattamente simile sarebbe accaduto e aveva programmato il computer in modo da scartare il proprio lavoro non essenziale piuttosto che fallire. "Se il computer non avesse riconosciuto questo problema e adottato azioni correttive", disse in seguito, "dubito che l'Apollo 11 sarebbe stato il successo di sbarco sulla Luna che è stato".

Paoli, Indiana

Margaret Elaine Heafield nacque il 17 agosto 1936 a Paoli, nell'Indiana, da Kenneth e Ruth Esther Heafield. La famiglia si trasferì nel Michigan, dove lei si diplomò alla Hancock High School nel 1954. Suo padre era un poeta e suo nonno un preside, e la sua famiglia la indirizzò verso la filosofia con la stessa fermezza della matematica — avrebbe finito per studiare entrambe. Studiò all'Università del Michigan nel 1955, per poi trasferirsi all'Earlham College, conseguendo una laurea in matematica con un minore in filosofia nel 1958. Attribuì a Florence Long, che dirigeva il dipartimento di matematica di Earlham, il merito di averla incoraggiata verso la matematica astratta e una carriera accademica. Sposò James Cox Hamilton nel giugno 1958; la loro figlia Lauren nacque l'anno seguente.

Meteorologia, caos, greco e latino

Il suo primo lavoro nell'informatica fu con Edward Norton Lorenz nel dipartimento di meteorologia del MIT a partire dalla metà del 1959, scrivendo software di previsione meteorologica per le macchine LGP-30 e PDP-1. Lorenz riconobbe in seguito il suo contributo al lavoro che divenne la teoria del caos. Dal 1961 al 1963, al MIT Lincoln Laboratory, programmé il prototipo AN/FSQ-7 per il sistema di difesa aerea Semi-Automatic Ground Environment, dove le fu affidato un programma notoriamente intrattabile i cui commenti erano stati scritti in greco e latino — e divenne la prima persona a farlo funzionare. Entrambi i lavori condividevano una caratteristica che l'avrebbe definita: le venivano affidati sistemi che nessun altro riusciva a far funzionare.

Il Laboratorio di Strumentazione

Nel 1965 entrò a far parte dell'Instrumentation Laboratory del MIT, in seguito Charles Stark Draper Laboratory, come prima programmatrice — e prima programmatrice donna — assunta per il progetto Apollo. Salì fino a diventare Direttrice della Divisione di Ingegneria del Software, responsabile del software di volo di bordo per il Computer di Guida dell'Apollo sia nel Modulo di Comando che nel Modulo Lunare, e successivamente per i sistemi dello Skylab. Si trattava di codice senza seconde possibilità: niente patch, nessun riavvio su una traiettoria di discesa, nessun modo per raggiungere la macchina una volta lasciata la rampa di lancio.

1202

La risposta di Hamilton fu quella di trattare l'errore non come un'eccezione, ma come un'ipotesi di progetto. Il suo software includeva routine di rilevamento e recupero degli errori e, cosa fondamentale, uno schema di "display di priorità": quando il computer era sovraccarico, abbandonava le attività a minore priorità e preservava le funzioni necessarie per l'atterraggio. Aveva anche pensato alla metà umana del ciclo, progettando la procedura in modo che gli astronauti che vedevano un display di priorità contassero fino a cinque, tenendo conto del ritardo di elaborazione del software.

IL TEST GRATUITO
Quanto fa il tuo?

Venti domande, otto minuti di orologio e un percentile misurato su tutti quelli che l’hanno fatto. Senza registrazione.

Fai il test del QI →

Il 20 luglio 1969 il meccanismo funzionò esattamente come progettato. Gli allarmi suonarono, il computer scartò ciò che poteva permettersi di perdere e l'ingegnere informatico del controllo missione della NASA Jack Garman riconobbe i codici e gridò: "Go, go!" L'Eagle atterrì.

Dare un nome a una disciplina

A Hamilton viene attribuita l'istituzione del termine "ingegneria del software" durante i primi anni del programma Apollo. Il suo scopo era tanto giurisdizionale quanto descrittivo. "Iniziai a usare il termine 'ingegneria del software' per distinguerlo dall'hardware e da altri tipi di ingegneria", spiegò, "trattando comunque ciascun tipo di ingegneria come parte del processo complessivo di ingegneria dei sistemi". Gli specialisti dell'hardware non rimasero impressionati. "È stata una battuta ricorrente per molto tempo", ricordò. "Gli piaceva prendermi in giro per le mie idee radicali." Quella battuta è ora il nome di un'industria che impiega decine di milioni di persone.

Sviluppo prima del fatto

Trascorse il resto della sua carriera perseguendo quell'implicazione. Nel 1976 cofondò la Higher Order Software con Saydean Zeldin per formalizzare i metodi di prevenzione degli errori che l'Apollo le aveva insegnato; il loro prodotto USE.IT supportò programmi governativi tra cui lo Space Shuttle e i progetti ICAM dell'Air Force. Nel marzo 1986 fondò la Hamilton Technologies a Cambridge, nel Massachusetts, dove sviluppò la Universal Systems Language e la suite di strumenti 001 attorno a un paradigma che chiamò "sviluppo prima del fatto" — la tesi secondo cui gli errori dovrebbero essere resi impossibili al momento della progettazione piuttosto che cacciati durante i test.

Il riconoscimento arrivò lentamente e poi tutto in una volta: l'Augusta Ada Lovelace Award nel 1986; il NASA Exceptional Space Act Award nel 2003, che con 37.200 dollari fu il più grande premio individuale nella storia dell'agenzia; la Medaglia Presidenziale della Libertà da parte di Barack Obama nel 2016; un Fellow Award del Computer History Museum nel 2017; il Washington Award nel 2019; l'introduzione nella National Aviation Hall of Fame nel 2022.

Perché Margaret viene chiamata genio

La facoltà è una specifica inversione di come pensava il suo campo. Negli anni '60 il software era inteso come istruzioni che avrebbero dovuto funzionare, con gli errori trattati come incidenti deplorevoli da trovare in seguito. Hamilton trattò il fallimento come il principale oggetto di progetto: cosa dovrebbe fare un sistema quando le ipotesi che lo sottendono smettono di valere? Il display di priorità è il manufatto più chiaro di quella mente. Non previene il sovraccarico, che non può essere prevenuto; decide in anticipo, in condizioni che nessuno ha ancora sperimentato, cosa una macchina dovrebbe essere disposta ad abbandonare per continuare a fare l'unica cosa che conta. Si tratta di un passo filosofico tanto quanto tecnico. La sua seconda affermazione è la paternità concettuale: nominare "ingegneria del software" mentre veniva derisa per questo ha riorganizzato il modo in cui un'intera professione comprendeva se stessa.

Le oneste qualifiche sono queste. Il registro dei suoi onori, per quanto esteso, non mostra la parola "genio" applicata formalmente; mostra medaglie per la conseguenza. Il salvataggio dell'Apollo 11 fu un sistema, non un atto solitario — il suo software fece scattare l'allarme, ma Jack Garman dovette riconoscere i codici, un controllore di volo dovette dire go, e il design dipendeva dagli astronauti che seguivano una procedura umana. E l'industria adottò la sua parola più completamente del suo metodo: l'"ingegneria del software" è universale, mentre lo "sviluppo prima del fatto" rimane specialistico. Il suo genio si colloca al meglio in un'inquadratura del problema che è sopravvissuta a ogni strumento che ha costruito per risolverlo.

Eredità

Il codice che ha diretto è il motivo per cui la frase "allarme 1202" è un trionfo piuttosto che un epitaffio. La maggiore eredità è l'assunto — ormai così standard da essere invisibile — che il software sia qualcosa di ingegnerizzato, tenuto entro tolleranze e predisposto per fallire con grazia. Ha fornito sia il nome che la prima grande prova.

Confronta con i grandi

Erwin Schr Dinger vs PythagorasAdam Smith vs Garry KasparovClaude Monet vs Edgar Allan PoeJohn Von Neumann vs Stephen Hawking
Vedi Classifica →Tutti i confronti →

Bambini prodigio

Momiji NishiyaMomiji NishiyaFirst Olympic women's street champion, winning gold at age 13Emily BearEmily BearPlayed the White House at six, won a Grammy at twenty, scored a…Summer McintoshOlympic finalist at 14, world-record holder and triple Olympic…Laurent SimonsGraduated University at 11 — Belgian Prodigy with Electrical…
Bambini prodigio →

Gioca e torna domani

Sfida del genio del giorno · Brain teaser
If two's company and three's a crowd, what are four and five?
Tocca la tua risposta ↓
Quale genio sei? Test del QI gratuito