;)
Quando si parla dello sbarco sulla Luna, l'immaginario collettivo corre subito a Neil Armstrong e al suo celebre «piccolo passo per un uomo, ma un grande balzo per l'umanità». Ma dietro quel traguardo c'è molto di più che l'eroismo degli astronauti coinvolti nell'allunaggio: c'è anche l'intelligenza silenziosa, ma decisiva, di uomini e donne che hanno lavorato dietro le quinte. Tra queste c'è Margaret Hamilton. A soli 33 anni, la Hamilton era a capo del team che sviluppò il software del modulo lunare Apollo 11, quello che nel luglio 1969 permise ad Armstrong e Buzz Aldrin di poggiare i loro piedi sul suolo lunare.
Pochi minuti prima del fatidico atterraggio, qualcosa andò però storto: il computer di bordo iniziò a lanciare allarmi a causa di un sovraccarico di dati. In quel momento critico, il software scritto dal team di Hamilton non si bloccò, ma fece qualcosa di rivoluzionario per l'epoca: riconobbe quali compiti non erano essenziali e li ignorò, dando priorità assoluta alla funzione più importante di tutte, ovvero atterrare.
Senza quel sistema di gestione delle priorità, oggi racconteremmo una storia ben diversa. la Hamilton, con la sua visione e meticolosità, non solo rese possibile una delle più grandi imprese della storia umana, ma contribuì a fondare un nuovo campo scientifico: l'ingegneria del software. In questo approfondimento vi portiamo alla scoperta del suo lavoro, del contesto culturale in cui operò, delle soluzioni tecniche che cambiarono la storia e dell'eredità che il suo contributo ha lasciato nell'informatica e nell'esplorazione spaziale.

Margaret Hamilton e il software che permise la conquista della Luna
Come accennato, Margaret Hamilton era a capo del team che sviluppò il software del modulo lunare Apollo 11. Il 20 luglio 1969, durante gli ultimi attimi della discesa verso la superficie lunare, il computer del modulo lunare o LM (Lunar Module) andò in sovraccarico: riceveva troppi dati inutili a causa di un radar attivato erroneamente. Questo comportò l'attivazione di una serie di allarmi: a pochi minuti dall'atterraggio, il software era letteralmente in crisi. Fu in quel momento che il codice progettato dal team del MIT (Massachusetts Institute of Technology), sotto la direzione di Margaret Hamilton, dimostrò tutta la sua resilienza. Il programma riconobbe automaticamente il problema, scartò i compiti a bassa priorità e si concentrò esclusivamente sull'atterraggio. Questo principio — noto come scheduling delle priorità — è oggi alla base di qualsiasi sistema operativo moderno, ma all'epoca era una novità assoluta.
Hamilton stessa, intervistata anni dopo, ricordava quel momento con un misto di sollievo e soddisfazione: più che per l'atterraggio in sé, era felice che il software avesse funzionato. Intervistata dal TIME la Hamilton raccontò:
Ricordo di aver pensato “Oh mio Dio, ha funzionato!”. Ero così felice. Ma ero più contenta del fatto che [il software] funzionasse che dell'atterraggio in sé.
In effetti, non c'era alcuna certezza che tutto sarebbe andato come previsto. Il software era stato scritto a mano su schede perforate: un supporto cartaceo rigido utilizzato in passato per memorizzare ed elaborare dati dove le informazioni venivano rappresentate tramite fori praticati in posizioni precise della scheda stessa. Ogni sua modifica poteva avere conseguenze potenzialmente disastrose. Per questo motivo, Hamilton insistette sin dall'inizio su una metodologia di collaudo rigorosa, che prevedesse numerosi test a terra. La maggior parte degli errori emersi durante questi test derivava da problemi di interfaccia e sincronizzazione, come conflitti tra le tempistiche dei comandi o l’inserimento di nuove istruzioni in sequenze già calibrate.
Fu lei a coniare l’espressione “ingegneria del software” per descrivere la serietà e la complessità di un lavoro che, fino a quel momento, non godeva del rispetto dovuto. All'epoca, il campo informatico era dominato da uomini e largamente sottovalutato nei suoi aspetti progettuali. L'ottimo lavoro che
Dopo la fine del programma Apollo, la Hamilton non abbandonò il mondo del software: nel 1986 fondò la Hamilton Technologies Inc., dove proseguì il suo lavoro con un linguaggio di programmazione innovativo chiamato USL (Universal Systems Language). Questo strumento era pensato per prevenire gli errori già in fase di progettazione. Il concetto era semplice ma potente: prevedere i punti critici prima che diventino problemi reali. Una filosofia che, applicata all'esplorazione spaziale, consente non solo di evitare tragedie, ma anche di contenere i costi delle missioni future.
L'ottimo lavoro che la Hamilton svolse le valsero l'Exceptional Space Act Award, che le venne conferito dalla NASA nel 2003 e che includeva anche il premio in denaro più sostanzioso mai conferito dalla celebre agenzia spaziale a una sola persona.
Il futuro dell'esplorazione spaziale passa dal software
Hamilton è convinta che la chiave per il futuro dell'esplorazione spaziale — Marte incluso — passi proprio dalla qualità del software. I test sono costosi e ogni errore che si riesce a evitare in anticipo rappresenta un risparmio in termini di tempo, denaro e sicurezza. L'eredità del suo lavoro oggi è visibile non solo nei laboratori della NASA, ma in ogni sistema critico che richiede affidabilità assoluta, dal volo aereo alla medicina, dai razzi alle sonde interplanetarie.