Świat obiegła smutna informacja - Margaret Hamilton zmarła 30 września 2026 roku, w wieku 90 lat. Większości ludzi jej nazwisko nie mówiło zbyt wiele. Nie była astronautką - jednak, gdy Neil Armstrong i Buzz Aldrin wykonywali pierwsze kroki na Księżycu, jednym z elementów, który pozwolił im tam bezpiecznie dotrzeć, był kod tworzony pod kierownictwem Hamilton.
W czasach, gdy komputery zajmowały całe pomieszczenia, a programowanie dopiero zaczynało być postrzegane jako samodzielna dziedzina, Hamilton kierowała zespołem odpowiedzialnym za oprogramowanie pokładowe misji Apollo. W 1965 roku została pierwszą programistką zatrudnioną przy tym projekcie w MIT Instrumentation Laboratory. Kilka lat później nad oprogramowaniem Apollo pracowało już ponad 400 osób.
Komputer pokładowy Apollo miał wykonywać skomplikowane obliczenia w warunkach, w których nie można było po prostu zainstalować poprawki ani zadzwonić do administratora. Błąd programu mógł oznaczać śmierć astronautów.
Podejście Hamilton, było takie, że dobry programista nie powinien zastanawiać się wyłącznie nad tym, co wydarzy się zgodnie z planem. Musi również przewidzieć sytuacje niepożądane, błędy człowieka i zachowania systemu, których wcześniej nie brano pod uwagę.
Najważniejszy test przyszedł podczas misji Apollo 11
20 lipca 1969 roku lądownik Eagle zbliżał się do powierzchni Księżyca. Do historycznego lądowania pozostały minuty, kiedy komputer pokładowy zaczął zgłaszać alarm 1202. System był przeciążony. W normalnych warunkach mogłoby to oznaczać poważne zagrożenie dla misji.
Oprogramowanie wykorzystywało jednak system priorytetów. Gdy komputer nie był w stanie wykonywać wszystkich zadań jednocześnie, mniej istotne procesy mogły zostać przerwane, aby zachować moc obliczeniową dla operacji kluczowych dla lądowania. To rozwiązanie pozwoliło kontynuować procedurę. Kontrola misji w Houston zaufała wskazaniom systemu i zezwoliła na dalsze lądowanie. Kilkadziesiąt sekund później Eagle znalazł się na powierzchni Księżyca.
Misja była przedsięwzięciem tysięcy ludzi, a lądowanie było efektem pracy całych zespołów inżynierów, naukowców, kontrolerów lotu i astronautów. Ale właśnie dlatego wkład Hamilton jest tak istotny - jej zespół stworzył oprogramowanie, które w krytycznym momencie poradziło sobie z sytuacją, której projektanci nie byli w stanie przewidzieć.
Jej oprogramowanie poleciało z ludźmi na Księżyc
Hamilton należała do pokolenia ludzi, którzy tworzyli inżynierię oprogramowania od podstaw. Sama zaczęła używać określenia „software engineering”, ponieważ uważała, że kod powinien być traktowany jako równie poważny element procesu projektowego jak sprzęt. Początkowo termin ten był traktowany z pobłażaniem. Z czasem stał się nazwą całej dziedziny, bez której nie wyobrażamy już sobie współczesnego świata.
Jej dorobek obejmował ponad 130 publikacji, a jej znaczenie dla historii technologii zostało docenione m.in. Prezydenckim Medalem Wolności, który otrzymała w 2016 roku z rąk Baracka Obamy.
Obecnie możemy patrzeć na lądowanie Apollo 11 jak na wydarzenie z odległej epoki. Łatwo też zapomnieć, że za słynnymi obrazami astronautów stoją tysiące stron kodu, obliczeń, testów i decyzji inżynierskich, które powstawały w absolutnie pionierskich warunkach, bez ustalonych standardów.
W 2015 roku oprogramowanie Apollo zostało opublikowane w całości na GitHubie. Zdjęcie Hamilton stojącej obok napisanych przez nią wydruków kodu, których stos niemal dorównuje jej wzrostem (via Wikimedia, na górze wpisu), stało się symbolem udziału programistów w jednym z największych przedsięwzięć technologicznych XX wieku.
Możliwe, że największym osiągnięciem Margaret Hamilton było pokazanie, że oprogramowanie może być równie ważne jak silniki, paliwo i metalowa konstrukcja statku. Że kilka tysięcy kilometrów od Ziemi życie człowieka może zależeć od linijek kodu.

Pokaż / Dodaj komentarze do:
Nie żyje Margaret Hamilton. Jej kod pomógł wylądować na Księżycu