Extrait de l'émission CPU release Ex0251 : Seule en scène, première partie.
Ingénieure hors-pair et chercheuse au MIT, elle a été lead-développeuse du laboratoire d'instrumentation, lors du programme Apollo.
Elle était une des premières développeuses soucieuses de la qualité logicielle, la stabilité opérationnelle, la tolérance de faute, la détection d'erreurs et leur reprise d'activité, et plusieurs autres bases importantes d'ingénierie logicielle. D'ailleurs, justement, c'est elle qui va créer le terme software engineering
et en imposer les principes à ses équipes dans les années 1960s.
Si elle ne tricotait pas un programme dans une ROM littéralement tressée pour les ordinateurs embarqués, elle a conçu et développé le fameux programme principal de l'AGC, Apollo Guidance Computer.
Margaret H. Hamilton est… Le Gourou
C'est lors d'un de ses jobs d'étudiants, pour un assureur de voyages, qu'elle entend parler pour la première fois des ordinateurs, une technologie qui terrifiait les autres petites mains de son administration.
Après sa licence de mathématiques et une très courte carrière comme professeur de lycée en maths et en français, elle rejoint l'Université de Cambridge, espérant étudier plus profondément les mathématiques abstraites.
Ses premières lignes de code, elle les fit au labo de météorologie sur un LGP-30 sous la direction d'Edward Lorenz, pour écrire un des premiers logiciels de prévision météo. Mais si, les graphs de Lorenz aux yeux de chouette, le fameux effet papillon ! Son code fut, selon des remerciements mêmes de Lorenz, déterminants pour sa publication sur la théorie du Chaos.
De 1961 à 1963, elle a travaillé sur le système SAGE, la représentation unifiée du réseau de radars du NORAD, le système prévenant une éventuelle attaque nucléaire, puis toujours pour l'US Air Force, un logiciel de suivi de satellites en orbite basse. Elle montre assez vite un intérêt dans une programmation structurée, qui priorise les erreurs, voire tente de les pallier.
C'est après ces deux programmes militaires qu'elle rejoint le projet du premier véhicule connecté, la capsule Apollo, premier système informatique embarqué avec une interface eeeuuuhhhh visuelle.
Elle est tellement passionnée par la programmation informatique, qu'elle remet une fois de plus à plus tard son envie d'étudier les maths abstraites.
Elle est d'abord regardée de haut par sa hiérarchie, qui la met sur une portion de programme en cas d'annulation de mission. Elle nommera ce logiciel forget it
, oubliez-le
ce qui donne une idée de la considération qu'elle avait… jusqu'à ce qu'il soit effectivement utilisé. Là, elle gravira très rapidement les échelons avec l'avancée du programme spatial, aussi vite qu'une fusée Saturn V décolle. Elle devient lead programmer sur Apollo 8, une immense responsabilité : un plantage ou une boucle infinie peut faire décéder 3 astronautes.
On connait son code source, car il a été intégralement versé dans la forge logicielle GitHub, afin qu'il soit consultable par toutes et tous. Le code source est écrit en assembleur, en langage bas niveau, au plus près du métal. Chaque bit pèse, littéralement en condensateurs, transistors, et donc en… volume dans la capsule et en carburant dans la fusée.
À l'époque, on n'avait pas d'IDE, très peu de terminaux avec écran. On imprimait sur de monstrueuses ramettes de papier son code pour le commenter, l'analyser voire le débugger à la main. Pas d'index, pas d'outil de recherche de texte, les heures étaient autant héroïques.
La première ligne du code source de l'Apollo Guidance System claque :
SUBMITTED: MARGARET H. HAMILTON DATE: 28 MAR 69 / M.H.HAMILTON, COLOSSUS PROGRAMMING LEADER / APOLLO GUIDANCE AND NAVIGATION.
Envoyé par Margaret H Hamilton, le 28 mars 1969, Cheffe programmeuse de Colossus, guidage et navigation Apollo.
Et suit le OK GO
de ses 5 directeurs au-dessus d'elles. Évidemment que des hommes…
Avec le succès du programme Apollo, la NASA décide de mettre en avant Margaret Hamilton dans les médias, notamment avec cette série de photos où elle pose fièrement devant la pile de son code source plus haute qu'elle ou quand en jupe, elle est assise à l'intérieur de la réplique fonctionnelle de la capsule Apollo entre deux astronautes en scaphandre de survie… Ces photos légendaires ont montré que Yes, she can !
.
En quittant le MIT dans les années 1970s, elle devint créatrice et cheffe d'entreprise, notamment spécialisée dans la conception logicielle avec prévention d'erreur et tolérance de faute.
Et elle s'implique aussi pour une meilleure représentativité des femmes et des minorités dans les métiers de l'ingénierie, en démontrant les problèmes posés par le patriarcat. Un combat de longue haleine, mais qui fut salué.
En 2016, le président Barack Obama lui remis la Presidential Medal of Freedom, où il souligne dans son discours :
Hamilton a défini de nouvelles formes d'ingénierie logicielles et a aidé à lancer une industrie qui changera pour toujours l'histoire humaine. Son architecture logicielle a permis un pas de géant pour l'Humanité, écrivant le code qui a aidé l'Amérique à poser un pied sur la Lune.
Pour les 50 ans de l'alunissage d'Apollo 11, en 2019, Google a commissionné la ferme solaire d'Ivanpah, orientant les 107 000 miroirs pilotables pour recréer son portrait une nuit au clair de lune. Un des hommages des plus poétiques qui soit, rendu par un des géants de l'informatique qui applique tous les jours les principes qu'elle a créé.
Margaret Hamilton nous a quittés durant la production de l'émission, à l'âge vénérable de 90 ans. Cette émission double lui est dédiée.
Texte : Da Scritch
Lecture : Touff
Photo : Margaret Hamilton empilant son code source pour Apollo. Domaine public.