Skip to content

In memoriam — Margaret Hamilton, 17 août 1936 – 30 septembre 2026

← Retour aux Épaules des Géants

Margaret Hamilton seated inside an Apollo command module mockup, 1969
Hamilton dans une maquette du module de commande Apollo, 1969. Photo : NASA (domaine public).
In Memoriam

Margaret Hamilton

17 août 1936 – 30 septembre 2026 · Informaticienne · Cheffe du logiciel de vol Apollo · Mère du « génie logiciel »

Margaret Hamilton a dirigé l'équipe du MIT qui a écrit le logiciel de vol embarqué du programme Apollo — le code qui a guidé les équipages jusqu'à la Lune et retour, sur un ordinateur doté d'une fraction de la mémoire d'une montre moderne. Elle l'a fait en inventant la discipline au passage : c'est elle qui a forgé le terme génie logiciel, à une époque où l'expression était prise pour une plaisanterie.

De Paoli à Cambridge

Margaret Heafield est née à Paoli, dans l'Indiana, en 1936, et a grandi en partie dans la péninsule supérieure du Michigan, fille d'un poète et professeur de philosophie. Elle a étudié les mathématiques — avec une mineure en philosophie — à Earlham College, où elle a obtenu son diplôme en 1958, l'année même de son mariage avec James Hamilton. Leur fille Lauren est née en 1959.

Elle comptait faire un troisième cycle de mathématiques abstraites à Brandeis. Au lieu de cela, pour faire vivre son mari pendant ses études de droit à Harvard, elle a pris ce qui devait être un poste temporaire au MIT : écrire des logiciels de prévision météorologique pour Edward Lorenz (oui, le Lorenz de la théorie du chaos) sur les ordinateurs LGP-30 et PDP-1. Il n'existait pas de cours de programmation ; on apprenait en faisant. Elle fut bonne immédiatement.

Cela l'a conduite au Lincoln Laboratory du MIT et au projet SAGE — le système de défense aérienne à l'échelle du continent, l'un des premiers à exiger un logiciel qui n'avait pas le droit de tomber en panne. Au Lincoln Lab, Hamilton s'est forgé la réputation de résoudre les programmes que personne d'autre ne pouvait réparer ; ses collègues ont commencé à lui confier les bogues les plus durs et les plus étranges. Elle apprenait la tolérance aux pannes sur une machine qui gardait un continent.

Apollo

En 1965, l'Instrumentation Laboratory du MIT — futur Draper — avait remporté le contrat de la NASA pour le guidage embarqué d'Apollo. Hamilton a été la première programmeuse embauchée sur le projet Apollo au MIT, et la première femme à programmer pour lui. Elle a commencé sur les missions sans équipage, puis a grimpé jusqu'à diriger l'équipe qui écrivait le logiciel de vol des modules de Commande et Lunaire habités. En 1968, elle était responsable du logiciel du module de Commande et de Service ; au plus fort de l'effort, plus de 400 personnes écrivaient du code pour Apollo.

La machine que son code devait faire voler était célèbre pour sa petitesse : l'Apollo Guidance Computer tournait à environ 85 kilohertz avec quelque 72 kilo-octets de mémoire à tores — littéralement tissée, fil par fil, à travers des cœurs de ferrite par les « Little Old Ladies », les ouvrières qui enfilaient à la main chaque bit de chaque programme. Le logiciel n'était pas écrit sur cette mémoire ; il y était fabriqué. Aucun correctif ultérieur n'était possible.

Margaret Hamilton beside the printout stack of Apollo Guidance Computer software
La photographie célèbre : Hamilton à côté du listing imprimé du logiciel de l'Apollo Guidance Computer — presque aussi haut qu'elle. Chaque page était méritée. (Draper Laboratory / domaine public.)

Sa fille a trouvé le bogue avant la NASA

L'une des meilleures histoires de l'histoire du logiciel est celle d'une enfant. Lauren Hamilton, alors âgée d'environ huit ans, venait au laboratoire le week-end et jouait à l'astronaute sur le simulateur. Lors d'une visite, elle a tapé sur les touches en pleine simulation et lancé un programme de pré-lancement en plein vol — effaçant les données de navigation de l'ordinateur. Hamilton, réalisant ce qui s'était passé, a demandé d'ajouter un contrôle d'erreur pour que cette séquence ne puisse jamais s'exécuter en vol. La réponse venue d'en haut : les astronautes sont entraînés à ne jamais faire d'erreurs ; ça ne peut pas arriver.

Sur Apollo 8, l'astronaute Jim Lovell — faisant exactement ce qu'avait fait Lauren — a lancé par mégarde le même programme, effaçant ses données de navigation alors qu'il orbitait la Lune. L'équipe de Hamilton a travaillé jour et nuit pour reconstruire les tables et ramener l'équipage. Le contrôle qu'elle avait demandé a été ajouté après coup. Tout programmeur reconnaît la leçon : si un humain peut le faire, un humain le fera.

Trois minutes qui lui ont donné raison

Son obsession la plus profonde était le traitement des erreurs — une position radicale à l'époque. Le logiciel était censé fonctionner ou échouer ; Hamilton insistait pour qu'il continue de fonctionner à travers la panne : dire à l'équipage ce qui n'allait pas, et protéger d'abord le travail le plus prioritaire. Le logiciel Apollo tournait sous un exécutif à ordonnancement par priorités, avec des « écrans de priorité » qui affichaient les alarmes au lieu de les cacher.

20 juillet 1969. Apollo 11 descend vers la mer de la Tranquillité quand l'ordinateur de guidage se met à hurler les alarmes de débordement exécutif 1201 et 1202 — on demande à la machine plus qu'elle ne peut faire, parce qu'un radar de rendez-vous lui envoie des données dont elle n'a pas besoin. La conception de Hamilton fait exactement ce pour quoi elle l'a conçue : elle abandonne le travail de basse priorité, continue de piloter la descente et dit à l'équipage ce qui se passe. À Houston, l'ingénieur Jack Garman, 24 ans — qui avait mémorisé les codes d'alarme — explique au directeur de vol Steve Bales ce que signifient les alarmes. Le mot remonte : « go ». Armstrong et Aldrin se posent.

La leçon qu'elle nous a laissée : les alarmes n'étaient pas une panne — c'était le système faisant exactement ce pour quoi il avait été conçu, dans des conditions que personne ne pouvait pleinement prévoir. Écrire un logiciel qui dit la vérité quand il souffre, qui hiérarchise ce qui compte et qui se dégrade avec grâce au lieu de mourir en silence. Cette idée — les erreurs comme comportement conçu, non comme surprises — reste le cœur de la bonne ingénierie, et c'est le même instinct derrière les outils qui analysent le code avant qu'il ne s'exécute.

« Génie logiciel »

Quand Hamilton a commencé à appeler leur travail « génie logiciel », des collègues chevronnés ont ri — le matériel était de l'ingénierie ; le logiciel était quelque chose qu'on tapait. Elle a continué à employer le terme jusqu'à ce que le travail lui-même le rende indéniable : une discipline avec exigences, conception, tests, simulation et revue. L'expression a survécu aux sceptiques. Elle est aujourd'hui le nom de la profession — et elle ne l'a pas seulement inventée, elle en a montré le sens, en route vers la Lune.

Après Apollo — l'ingénierie par construction

Hamilton a passé les décennies suivantes à formaliser ce qu'Apollo lui avait enseigné : les systèmes doivent être corrects par conception, non débogués vers la correction après coup. En 1976, elle a cofondé Higher Order Software, qui a produit l'outil de conception USE.IT — des systèmes spécifiés selon des règles axiomatiques afin que des classes entières d'erreurs soient prévenues avant l'exécution d'une seule ligne. En 1986, elle a fondé Hamilton Technologies à Cambridge, développant le Universal Systems Language (USL) et sa 001 Tool Suite — le « développement avant le fait », une ingénierie des systèmes où le logiciel hérite de la rigueur du système qu'il sert. Elle a dirigé ce travail pour le reste de sa vie.

Distinctions

President Obama awarding Margaret Hamilton the Presidential Medal of Freedom, 2016
Le président Obama remettant à Hamilton la Médaille présidentielle de la Liberté, 2016 — « elle symbolise cette génération de femmes méconnues qui ont aidé à envoyer l'humanité dans l'espace ». (Photo de la Maison-Blanche — domaine public.)

Le dernier mot

Hamilton est morte le 30 septembre 2026 à Cambridge — à portée de vue du laboratoire où elle avait appris pour la première fois ce que le logiciel pouvait être. Elle avait 90 ans. Elle laisse sa fille Lauren — la petite fille dont les doigts avaient un jour trouvé un bogue que les procédures de la NASA n'avaient pas trouvé —, un gendre, deux petits-fils et quatre arrière-petits-enfants. L'administrateur de la NASA l'a qualifiée de « pionnière dont le travail a rendu possibles Apollo et les premiers voyages de l'humanité vers la Lune ». Une cérémonie d'hommage est prévue à Cambridge.

"Il n'y avait pas de seconde chance. Nous le savions. Nous prenions notre travail au sérieux, beaucoup d'entre nous commençant ce voyage à peine dans la vingtaine… Nous devions trouver un chemin et nous l'avons trouvé. Avec le recul, nous étions les personnes les plus chanceuses du monde ; il n'y avait pas d'autre choix que d'être des pionniers."
— Margaret Hamilton, MIT News, 2009

Pourquoi elle est parmi les Géants

Ce site existe pour apprendre aux gens à programmer. Hamilton est la personne qui a prouvé que la programmation pouvait porter le poids de vies humaines — et que cela exigeait rigueur, humilité et la volonté de concevoir pour une panne qu'on espère ne jamais voir. Une mère déboguant dans un laboratoire à minuit, un ordinateur qui a refusé de lâcher en descendant vers la mer de la Tranquillité, et un mot — ingénierie — qu'elle a rendu vrai en le pratiquant. C'est exactement à cela que servent les Géants.

Sources et lectures complémentaires

← Retour aux Épaules des Géants