
È morta a novant’anni Margaret Hamilton. Se il nome non vi dice nulla, forse è il caso di rimediare. La Hamilton ha guidato il team software del programma Apollo, contribuendo a portare l’uomo sulla Luna e a trasformare la programmazione in una disciplina ingegneristica. Ha contribuito a costruire le fondamenta del mondo digitale nel quale oggi viviamo. Quel mondo che permette anche a chi la liquida con un commento su Facebook di esprimere la propria opinione in tempo reale, comodamente seduto sul divano.
Negli anni Sessanta, scrivere software era un mestiere molto diverso da quello che conosciamo oggi. Si lavorava con linguaggio macchina, assembly e schede perforate. Il metodo prevalente era il code and fix: si scriveva il programma, si scopriva che qualcosa non funzionava e si cercava di correggerlo. Una strategia che poteva bastare per applicazioni semplici, ma che diventava insostenibile con l’aumento della complessità. Servivano progettazione, procedure, verifiche e documentazione: la sola intuizione del programmatore non era più sufficiente. Erano alcuni dei problemi alla base della cosiddetta «crisi del software».
La Hamilton fu tra le figure che contribuirono a definire l’ingegneria del software come disciplina, promuovendo un approccio sistematico alla progettazione e alla prevenzione degli errori. La sua idea di fondo era semplice: un programma affidabile richiede metodo e la capacità di prevedere come reagirà quando qualcosa andrà storto. Correggere gli errori è necessario; progettare per prevenirli è decisamente meglio.
L’esempio più celebre arrivò con Apollo 11. Durante la discesa verso la Luna, il computer di bordo fu investito da un sovraccarico di attività, dovuto anche a dati provenienti dal radar di rendezvous che non erano necessari in quel momento. Gli allarmi si susseguirono e il rischio era concreto. Il sistema era stato progettato per assegnare priorità alle operazioni: i compiti meno importanti potevano essere interrotti, lasciando risorse a quelli essenziali per l’allunaggio. L’equipaggio e il controllo missione poterono quindi proseguire.
Un sistema critico deve funzionare anche quando le condizioni reali divergono da quelle previste, preservando le funzioni essenziali invece di crollare al primo imprevisto. Oggi lo consideriamo un principio ovvio nell’industria aerospaziale e nello sviluppo di infrastrutture digitali. All’epoca, tradurlo in soluzioni operative richiedeva di affrontare problemi per i quali mancavano precedenti consolidati.
La Hamilton proseguì il suo lavoro anche dopo Apollo. Nel 1976 fondò Higher Order Software e, nel 1986, Hamilton Technologies, aziende dedicate allo sviluppo di metodi e strumenti per rendere più rigorosa la progettazione dei sistemi. Tra i suoi contributi figurano l’Universal Systems Language e il paradigma Development Before the Fact, basato sulla formalizzazione del sistema prima della realizzazione del software. L’obiettivo era ridurre gli errori alla radice, invece di scoprirli quando correggerli era già diventato costoso.
Una scelta sbagliata nelle fondamenta di un’applicazione può produrre anni di manutenzione e compromessi. Il debito tecnico non è una punizione divina: è spesso il conto presentato da decisioni prese senza sufficiente attenzione alle conseguenze. Chiunque abbia lavorato su sistemi complessi sa quanto possa costare rimediare a una progettazione sbagliata.
I riconoscimenti arrivarono nel tempo. Nel 2003 la NASA le conferì l’Exceptional Space Act Award per i suoi contributi scientifici e tecnici al programma Apollo. Nel 2016 Barack Obama le assegnò la Presidential Medal of Freedom, la più alta onorificenza civile degli Stati Uniti, riconoscendo il suo ruolo nello sviluppo dell’ingegneria del software. Sono fatti documentati, non medaglie distribuite per simpatia.
Eppure, basta leggere i commenti alla notizia della sua morte per ritrovare il solito spettacolo. «Non ha fatto tutto da sola». Davvero? In quale impresa scientifica, industriale o tecnologica di una certa complessità una persona fa tutto da sola? Il merito di un responsabile tecnico consiste nel definire metodi, coordinare competenze, prendere decisioni e assumersi responsabilità. Se il lavoro di squadra annullasse i contributi individuali, dovremmo concludere che Neil Armstrong non abbia fatto nulla di significativo perché la missione coinvolse migliaia di persone. Un’assurdità che si commenta da sola.
C’è poi chi liquida la Hamilton come una figura esaltata dal femminismo. Davanti a una donna che ha contribuito a una delle imprese tecnologiche più importanti del Novecento, qualcuno sente il bisogno di sospettare un’operazione ideologica. Il criterio dovrebbe essere più semplice: quali problemi ha affrontato? Quali soluzioni ha contribuito a sviluppare? Quale influenza ha avuto sul proprio campo? Nel caso della Hamilton, le risposte sono sufficientemente solide da rendere superflua qualsiasi agiografia.
Il fatto che abbia ricoperto quel ruolo in un ambiente tecnologico dominato dagli uomini fa parte della sua storia. Riconoscerlo non significa trasformarla in un simbolo politico, così come riconoscere i suoi risultati non richiede di attribuirle capacità sovrumane. Basta prendere sul serio il lavoro che ha svolto.
Ed eccoci al punto: una donna contribuisce a sviluppare il software che permette a una missione spaziale di superare una situazione critica; decenni dopo, qualcuno apre Facebook sul proprio telefono e stabilisce che la sua fama è esagerata. Il primo risultato richiede competenza, metodo e anni di lavoro. Il secondo richiede un pollice opponibile e una connessione Internet.
«Non ha fatto tutto da sola»: certo. Neppure i commentatori hanno scritto da soli il sistema operativo del telefono dal quale dispensano queste perle. La differenza è che la Hamilton ha contribuito a spostare in avanti i confini dell’informatica, mentre loro usano la tecnologia per dimostrare che il suo progresso può essere molto più rapido di quello della capacità di ragionare.
Onore alla Hamilton, una delle grandi protagoniste della storia dell’informatica. A chi vede un complotto femminista dietro il suo riconoscimento suggerisco un esercizio: studiare il suo lavoro e provare a confutarne i risultati. È più impegnativo che scrivere «non ha fatto tutto da sola», ma almeno richiede qualcosa di più di una tastiera.
Se poi il massimo risultato sarà un commento rancoroso sotto il necrologio di una pioniera dell’informatica, resta sempre una consolazione: almeno, per una volta, il problema complesso non è stato scritto in codice.
(Giovanni Sarpi)
Prompt:
1: È morta a novant'anni Margaret Hamilton. Non una figura qualunque: la donna che ha guidato il team software del programma Apollo e che ha dato un nome e un metodo a una disciplina che, allora, non esisteva nemmeno.
2: Prima di lei, lo sviluppo software era un mestiere artigianale e individuale. Si scriveva in linguaggio macchina o assembly, si lavorava con schede perforate, e il metodo dominante era "codifica e corregge": si scriveva il codice e poi lo si aggiustava man mano che si presentavano errori. Non esisteva documentazione strutturata, non c'era progettazione preventiva, e ogni programmatore seguiva il proprio intuito. Questo funzionava finché i progetti erano piccoli, ma con l'aumento della complessità i limiti divennero drammaticamente evidenti, portando a quella che fu chiamata la "crisi del software".
3: Hamilton ha trasformato tutto questo. Ha coniato il termine "ingegneria del software" per dare dignità e rigore a un campo che non ne aveva. Ha introdotto concetti come il software asincrono, la pianificazione delle priorità, il test end-to-end e la capacità di decisione uomo-macchina. Il suo approccio era preventivo, non correttivo: capire i pattern degli errori per evitarli sul nascere. Il suo software salvò l'Apollo 11 quando, durante la discesa lunare, il computer fu sovraccaricato da dati non necessari e il sistema di priorità da lei ideato interruppe i compiti meno importanti per lasciare spazio a quelli critici.
4: Dopo l'Apollo, la sua carriera non si è fermata. Rimase al MIT fino alla metà degli anni '70, poi nel 1976 fondò la sua prima azienda, Higher Order Software, di cui fu amministratrice delegata fino al 1984. Un decennio dopo, nel 1986, fondò Hamilton Technologies a Cambridge, Massachusetts, ricoprendo il ruolo di CEO e presidente. Entrambe le aziende erano veicoli per portare avanti la sua visione: sviluppare e commercializzare l'Universal Systems Language (USL) e il paradigma "Development Before the Fact", un approccio progettuale che mirava a prevenire gli errori alla radice definendo il sistema in modo formale prima ancora di scrivere il codice.
5: Il riconoscimento pubblico arrivò con il tempo. Nel 2003 la NASA le conferì l'Exceptional Space Act Award per i suoi contributi scientifici e tecnici al programma Apollo. Il culmine arrivò nel 2016, quando il presidente Barack Obama le assegnò la Presidential Medal of Freedom, la più alta onorificenza civile degli Stati Uniti, "per il suo ruolo nel definire nuove forme di ingegneria del software". Nella motivazione si legge che il suo software "ha portato a passi da gigante per l'umanità, scrivendo il codice che ha aiutato l'America a mettere piede sulla Luna".
6: Faccio in tempo a leggere della sua morte che mi toccano i commenti idioti di chi per massimo titolo di studio ha il battesimo. "Non ha fatto tutto da sola", dicono. Ma chi lo fa? A quei livelli nessuno fa tutto da solo. Lei guidava il team, imponeva il metodo, coniava il termine. "Figura esaltata dal femminismo"? No: è una scienziata con fatti documentati, premiata dalla NASA e dalla Casa Bianca. Il doppio standard è evidente. Onore a Margaret Hamilton, la Dea Madre di tutti noi appassionati e professionisti dell'informatica. Il resto è rumore.
articolo: 1,2,3,4,5,6. Assumendo personalità, background e stile di scrittura di Giovanni Sarpi, descritte sopra nella chat, scrivi un Articolo; usa un tono brillante; evita le ripetizioni, non usare le formule "non... non... non...", "ed è qui che...", "è qui che...". Non dare titoli ai paragrafi.
Scopri di più da Le Argentee Teste D'Uovo
Abbonati per ricevere gli ultimi articoli inviati alla tua e-mail.