Jedna od pionirki razvoja računalnog softvera i žena koja je odigrala ključnu ulogu tijekom povijesnog slijetanja Apolla 11 na Mjesec, Margaret Hamilton
Kad se spomene povijesno slijetanje Apolla 11 na Mjesec 1969. godine, većina ljudi sjetit će se imena astronauta iz te letjelice. No, tek će rijetki pomisliti na stotine ljudi koji su bili odgovorni za slanje letjelice u svemir, jer su razvili softver koji je ugrađen u letjelice.
Jedna od njih bila je Margaret Hamilton, koja je preminula 30. rujna, objavio je Massachusetts Institute of Technology (MIT). Tijekom više od dva desetljeća na tom sveučilištu ostavila je dubok trag u računalnoj znanosti i inženjerstvu, a smatra se jednom od osoba koje su pomogle utemeljiti softversko inženjerstvo kao zasebnu disciplinu. Autorica je više od 130 publikacija.
Softver koji je pomogao odvesti ljude na Mjesec
Hamilton je na MIT stigla 1959. godine, a prvi posao vezan uz programiranje dobila je u odjelu za meteorologiju. Radila je na softveru za predviđanje vremena s Edwardom Lorenzom, čiji će kasniji rad postati važan za razvoj teorije kaosa.
Godine 1961. počela je raditi u MIT-ovu Lincoln Laboratoryju na projektu SAGE, prvom američkom sustavu protuzračne obrane. Ondje je programirala jedan od računalnih sustava koji je američko ratno zrakoplovstvo koristilo za otkrivanje potencijalno neprijateljskih letjelica. Upravo je tada počela posebno proučavati pouzdanost softvera, područje koje je u to vrijeme bilo gotovo potpuno novo.
Prekretnica je stigla 1965. godine. MIT-ov Instrumentation Laboratory tražio je programere za razvoj softvera koji će omogućiti slanje ljudi na Mjesec. Hamilton se prijavila i postala prva programerka angažirana na projektu Apollo u MIT-u te prva žena programerka na tom projektu.
Isprva je radila na softveru za misije Apolla bez posade, a potom je preuzela vođenje tima koji je razvijao ugrađeni softver za misije s ljudskom posadom. Do 1968. bila je pomoćnica direktora zadužena za tim koji je radio na zapovjednom i servisnom modulu, a na razvoju softvera za Apollo radilo je više od 400 ljudi.
Računalo je upozorilo na problem prije slijetanja
Jedan od najpoznatijih trenutaka u Hamiltoninoj karijeri dogodio se tijekom misije Apollo 11. Neposredno prije nego što je lunarni modul Eagle trebao sletjeti na Mjesec, računalo je prijavilo pogrešku 1202. Sustav je bio preopterećen i pojavila se opasnost da neće moći obraditi sve zadatke potrebne za nastavak slijetanja.
Softver koji su razvili Hamilton i njezin tim, međutim, bio je dizajniran tako da u takvoj situaciji daje prednost najvažnijim zadacima. Nevažni procesi mogli su biti zaustavljeni kako bi računalo nastavilo obrađivati podatke ključne za misiju.
Kontrola misije u Houstonu oslonila se na takvo ponašanje sustava i slijetanje je nastavljeno. Neil Armstrong i Buzz Aldrin nekoliko minuta poslije postali su prvi ljudi koji su kročili na Mjesec. NASA je Hamiltonin rad na softveru Apolla također istaknula kao primjer pionirskih pristupa poput upravljanja prioritetima i dizajna pouzdanog softvera.
Hamilton je pritom zagovarala pristup koji bi se danas mogao opisati kao 'obrambeno programiranje' - projektiranje sustava koji računaju na mogućnost pogreške i pokušavaju spriječiti njezine posljedice.
Koliko je takav pristup bio važan pokazao je i događaj tijekom misije Apollo 8. Hamilton je ranije predložila izmjenu softvera nakon što je njezina četverogodišnja kći Lauren slučajno pokrenula određeni program na simulatoru i izazvala njegov pad. Prijedlog je u početku odbijen jer se smatralo da astronauti neće napraviti istu pogrešku. Tijekom Apolla 8 astronaut Jim Lovell slučajno je pokrenuo upravo taj program. Zbog toga su nestali navigacijski podaci tijekom leta, a Hamilton i njezin tim pozvani su da riješe problem. Nakon toga njezine su izmjene ugrađene u softver.
Popularizirala izraz 'softversko inženjerstvo'
Hamilton je nakon završetka programa Apollo nastavila raditi u području računalnog softvera. Godine 1976. osnovala je tvrtku Higher Order Software, a desetljeće poslije i Hamilton Technologies.
Tijekom cijele karijere zalagala se za to da se razvoj softvera tretira kao ozbiljna inženjerska disciplina. Upravo je ona počela koristiti izraz 'software engineering', odnosno softversko inženjerstvo, kako bi naglasila da razvoj softvera treba promatrati kao inženjersku disciplinu, a ne samo programiranje.
'Borila sam se da softver dobije legitimitet i da mu se, kao i ljudima koji ga stvaraju, oda dužno poštovanje', rekla je Hamilton 2018. godine.
Njezino nasljeđe s vremenom je postalo poznato i široj javnosti. Fotografija iz 1969. godine, na kojoj Hamilton stoji pokraj golemog stoga ispisanog koda koji je razvijao njezin tim za Apollo, postala je jedna od najpoznatijih fotografija iz povijesti računalstva. Godine 2015. softver za Apollo koji je pomogla razviti objavljen je u cijelosti na GitHubu, a dvije godine poslije Hamilton je postala i LEGO figurica u setu posvećenom ženama koje su obilježile povijest NASA-e.
Za svoj je rad dobila brojna priznanja. Među njima je NASA-ina nagrada Exceptional Space Act Award iz 2003., priznanje Computer History Museum Fellow Award iz 2017. te ulazak u National Aviation Hall of Fame 2022. godine.
Najpoznatije priznanje stiglo je 2016., kada joj je predsjednik Barack Obama uručio Predsjedničku medalju slobode, najviše civilno odlikovanje Sjedinjenih Država. U obrazloženju je istaknuto da je svojim radom na softveru pomogla u stvaranju tehnologije koja je omogućila da čovjek stigne na Mjesec.
'Gledajući unatrag, bili smo najsretniji ljudi na svijetu. Nije bilo druge mogućnosti nego biti pioniri', rekla je Hamilton o radu na programu Apollo.