Fotografia del Draper Laboratory, MIT, Chicago, USA, 1 gennaio 1969 . Nella foto possiamo vedere Margaret Hamilton, l’informatico e ingegnere che scrisse a mano il codice del Programma Apollo insieme al suo team. E quello che vedete accanto a lei è proprio la cima del codice: i faldoni messi in piedi la superavano in altezza.
Margaret Hamilton e il Programma Apollo

Si può tranquillamente dire che senza Margaret Hamilton non ci sarebbe stato il Programma Apollo. O comunque la storia sarebbe andata in maniera diversa. Margaret Heafield Hamilton è nata il 17 agosto 1936 a Paoli, nell’Indiana, USA. Fu lei, insieme al suo team al MIT, a creare il software di bordo per il Programma Apollo. E fu sempre lei, insieme ai suoi collaboratori, a risolvere un pasticcio relativo allo sbarco dell’Apollo 11 sulla Luna. Senza di lei la missione non sarebbe stato un successo.
Margaret Hamilton si diplomò alla Hancock High School, laureandosi poi in matematica presso l’Università del Michigan e ottenendo la laurea in Matematica e Filosofia presso l’Earlham College. Proprio qui incontrò il marito, James Cox Hamilton. I due si sposarono alla fine degli anni Cinquanta (successivamente divorziarono) ed ebbero una figlia di nome Lauren (la quale poi sposò il miliardiario James Cox Chambers).
Spesso Margaret portava la figlia nei laboratori, trascorrendo del tempo con lei mentre scriveva il codice del software Apollo. Inizialmente, anche per sostenere il marito nei suoi studi ad Harvard, insegnò matematica e francese alle scuole superiori.
Ma successivamente si traferì a Boston per fare ricerca nel campo della matematica pura alla Brandeis University. Nel 1960 andò a lavorare al MIT (Massachusetts Institute of Technology), per sviluppare software per le previsioni meteo per i calcolatori del progetto del professor Edward Norton Lorenz. Considerate che all’epoca sia l’informatica che l’ingegnera del software non erano discipline universitarie. In pratica i programmatori diventavano tali lavorando sul campo.
Così dal 1961 al 1963 Margaret Hamilton lavorò al progetto SAGE (Semi Automatic Ground Environment) presso i Lincoln Labs. In teoria il progetto SAGE faceva parte del progetto Whirlwind avviato dal MIT. Il suo scopo era quello di creare un sistema informatico per le previsioni meteo. Tecnicamente il SAGE doveva servire a scopi militari.
Come da lei stessa spiegato, all’epoca le cose funzionavano così. Entravi senza alcuna esperienza in questi progetti e ti assegnavano un programma che nessuno sapeva come far funzionare e che nessuno capiva. La stessa cosa fecero con lei. Era alle prime armi e le diedero un programma da far funzionare. Chi lo aveva realizzato si era dilettato nel commentare il codice in greco e latino.
Margaret Hamilton riuscì comunque a farlo funzionare, nonostante l’output fosse scritto in greco e latino. Proprio grazie ai brillanti risultati ottenuti, divenne la direttrice e supervisore dello sviluppo del software per i programmi Apollo e Skylav al MIT. In pratica alla NASA il gruppo di Margaret Hamilton doveva creare il software che avrebbe guidato le capsule del programma Apollo nella navigazione nello spazio e nell’atterraggio sulla Luna.

Fu proprio grazie a lei se la missione riuscì. Pochi minuti prima dell’atterraggio, un errore nella checklist del manuale causò l’invio di segnali sbagliati al computer. Quello che successe è che al computer era richiesto di eseguire tutte le normali procedure per l’atterraggio. Ma a causa di quell’errore, durante questa delicata fase, ecco che ricevette un carico aggiuntivo di dati che finì con l’assorbire il 15% delle sue risorse.
Il software riuscì a riconoscere che stava ricevendo la richiesta di esecuzione di più processi rispetto a quelli che era in grado di sostenere. Così inviò un allarme di sovraccarico agli astronauti, allarme che indicava che avrebbe mantenuto in esecuzione solamente le procedure più importanti, cioè quelle per l’atterraggio.
Se il software non fosse stato programmato in modo da riconoscere e correggere le condizioni di errore, ecco che l’Apollo 11 non sarebbe probabilmente riuscito ad atterrare sulla Luna.
Per questo motivo Margaret Hamilton è considerata la salvatrice della missione lunare del 1969. E sempre per questo motivo, la sua foto con il codice sorgente è diventata famosa. Il codice era scritto tutto a mano e i faldoni impilati erano più alti di lei. Non sappiamo esattamente quanto fosse alta, ma guardando la porta e l’appendiabiti nella foto, è chiaro che quel codice era alquanto imponente.

C’è anche da dire che, a quell’epoca, il codice non poteva essere testato. Quello che i programmatori facevano erano unirlo alle macchine usando cavi di rame in modo che potesse lavorare con il codice binario.
Successivamente Margaret Hamilton fonò la società Higher Order Software, rimanendone il CEO dal 1976 al 1984. L’azienda si occupava di prevenire gli errori software, facendo in modo che i computer li riconoscessero e agissero di conseguenza. Nel 1986, poi, fondò e divenne il CEO della Hamilton Technologies. Fu proprio lei a coniare il termine “software engineering” o “ingegneria del software”. Numerose le pubblicazioni e anche i riconoscimenti, fra cui anche la Medaglia presidenziale della libertà ricevuta nel 2016 dal presidente degli USA Barack Obama.