Hamilton brenda një maketi të modulit të komandës Apollo, 1969. Foto: NASA (domain publik).
Në Kujtim
Margaret Hamilton
17 gusht 1936 – 30 shtator 2026 · Shkencëtare kompjuterike · Udhëheqëse e softuerit të fluturimit Apollo · E ëma e 'inxhinierisë së softuerit'
Margaret Hamilton drejtoi ekipin e MIT që shkroi softuerin e fluturimit të programit Apollo — kodin që çoi ekuipazhet në Hënë dhe i ktheu, në një kompjuter me një pjesë të vogël të kujtesës së një ore moderne. E bëri duke shpikur njëherësh disiplinën: ajo është personi që solli termin inxhinieri softueri, në një kohë kur fraza trajtohej si shaka.
Nga Paoli në Kembrixh
Margaret Heafield lindi në Paoli, Indiana, në 1936 dhe u rrit pjesërisht në Gadishullin e Sipërm të Miçiganit, e bija e një poeti dhe profesori filozofie. Studioi matematikë — me filozofi si lëndë dytësore — në Earlham College dhe u diplomua në 1958, të njëjtin vit që u martua me James Hamilton. E bija Lauren lindi në 1959.
Ajo synonte studime pasuniversitare në matematikë abstrakte në Brandeis. Në vend të kësaj, për të mbështetur bashkëshortin gjatë studimeve të juridikut në Harvard, mori një punë që dukej e përkohshme në MIT — të shkruante softuer parashikimi moti për Edward Lorenz (po, Lorenz i teorisë së kaosit) në kompjuterët LGP-30 dhe PDP-1. Nuk ekzistonin kurse programimi; mësoje duke bërë. Ajo u tregua menjëherë e aftë.
Kjo e çoi në Laboratorin Lincoln të MIT dhe projektin SAGE — sistemin e mbrojtjes ajrore me madhësi kontinenti, një ndër të parët që kërkoi softuer që nuk guxonte të dështonte. Në Lincoln Lab, Hamilton fitoi famën si ajo që rregullonte programet që askush tjetër s'mund t'i rregullonte; kolegët i lanë asaj gabimet më të vështira dhe më të çuditshme. Po mësronte tolerancën ndaj dështimit në një makineri që ruante një kontinent.
Apollo
Në 1965, Laboratori i Instrumentacionit të MIT — më vonë Draper — kishte fituar kontratën e NASA-s për navigimin e Apollo në bord. Hamilton ishte programuesja e parë e punësuar në projektin Apollo në MIT dhe gruaja e parë që programoi për të. Filloi me misionet pa ekuipazh dhe u ngjit deri të udhëhiqte ekipin që shkruante softuerin e fluturimit për modulet e ekuipazhuara të Komandës dhe Hënës. Në 1968 ishte përgjegjëse për softuerin e Modulit të Komandës dhe Shërbimit; në kulmin e përpjekjes, më shumë se 400 njerëz shkruanin kod për Apollo.
Makineria që kodi i saj duhej ta fluturonte ishte e famshme për të vogël: Kompjuteri Udhëzues i Apollo punonte me rreth 85 kiloherc me afërsisht 72 kilobajt kujtesë litar — e endur fjalë për fjalë, tel me tel, përmes bërthamave ferrite nga 'Zonjushat e Vogla të Moshuara', punëtoret e fabrikës që futeshin me dorë çdo bit programi. Softueri nuk shkruhej mbi atë kujtesë; ai prodhohej brenda saj. Nuk kishte rregullim më pas.
Fotografia e famshme: Hamilton pranë pirgut të printimit të softuerit të Kompjuterit Udhëzues Apollo — pothuajse sa gjatesia e saj. Çdo faqe ishte e fituar. (Laboratori Draper / domain publik)
E bija e gjeti gabimin përpara NASA-s
Një nga historitë më të bukura të historisë së softuerit është e një femije. Lauren Hamilton, atëherë rreth tetë vjeçe, vinte në laborator të fundjavave dhe luante astronaute në simulator. Në një vizitë shtypi tastet në mes të simulimit dhe nisi një program para-nisjeje gjatë 'fluturimit' — duke fshirë të dhënat e navigimit të kompjuterit. Hamilton kuptoi ç'kishte ndodhur dhe kërkoi të shtohej një kontroll gabimi që ajo sekuencë të mos mundej kurrë në fluturim. Përgjigjja nga lart: astronautët janë trajnuar të mos gabojnë kurrë; s'mund të ndodhë.
Në Apollo 8, astronauti Jim Lovell — duke bërë saktësisht atë që bëri Lauren — nisi aksidentalisht të njëjtin program, duke fshirë të dhënat e navigimit ndërsa rrotullohej Hënën. Ekipi i Hamilton punoi natë e ditë për të rindërtuar tabelat dhe për ta kthyer ekuipazhin në shtëpi. Kontrolli që ajo kërkoi u shtua më pas. Çdo programues e njeh mësimin: çka mund ta bëjë një njeri, një njeri do ta bëjë.
Tre minuta që i dhanë të drejtë
Obsesioni i saj më i thellë ishte trajtimi i gabimeve — qëndrim radikal për kohën. Nga softueri pritej të funksiononte ose të dështonte; Hamilton këmbëngulte që ai duhej të vazhdonte të funksiononte përmes dështimit: t'i thoshte ekuipazhit ç'po shkonte keq dhe të mbronte së pari punën më prioritare. Softueri i Apollo punonte nën një ekzekutiv me planifikim prioritetesh, me 'ekrane prioriteti' që i nxirrnin alarmin në shesh në vend që ta fshihnin.
20 korrik 1969. Apollo 11 zbret drejt Detit të Qetësisë kur kompjuteri udhëzues fillon të lëshojë alarme mbingarkese ekzekutive 1201 dhe 1202 — makinerisë i kërkohet më shumë se sa mund, sepse një radar i takimit po i furnizon të dhëna që s'i nevojitet. Hartimi i Hamilton bën pikërisht atë për ç'u hartua: heq punën me prioritet të ulët, vazhdon të fluturojë uljen dhe i tregon ekuipazhit ç'po ndodh. Në Houston, inxhinieri 24-vjeçar Jack Garman — që i kishte mësuar kodet e alarmit përmendësh — i shpjegon drejtorit të fluturimit Steve Bales ç'domethënë kanë alarminet. Thirrja ngjitet: "go". Armstrong dhe Aldrin ulen.
Mësimi që na la: alarmet s'ishin defekt — ishin sistemi duke bërë saktësisht atë për ç'ishte hartuar, në kushte që askush s'i parashikonte plotësisht. Shkruaj softuer që thotë të vërtetën kur vuan, që rendit atë që ka rëndësi dhe që degradon me hijeshi në vend që të vdesë në heshtje. Ajo ide — gabimet si sjellje e hartuar, jo si surpriza — mbetet zemra e inxhinierisë së mirë, dhe është i njëjti instinkt pas mjeteve që analizojnë kodin para se të ekzekutohet.
'Inxhinieri softueri'
Kur Hamilton filloi ta quante punën e tyre 'inxhinieri softueri', kolegët e vjetër qeshën — hardware ishte inxhinieri; softueri ishte diçka që shtypej. Ajo vazhdoi ta përdorte termin derisa vetë puna e bëri të pamohueshëm: një disiplinë me kërkesa, hartim, teste, simulim dhe rishikim. Fraza i mbijetoi skepticëve. Sot është emri i profesionit — dhe ajo jo vetëm që e solli, por tregoi ç'do të thoshte, në rrugë për në Hënë.
Pas Apollo — inxhinieri përmes ndërtimit
Hamilton kaloi dekadat e mëposhtme duke formalizuar atë që Apollo i kishte mësuar: sistemet duhet të jenë të sakta nga hartimi, jo të korrigjohen me debug më pas. Në 1976 bashkëthemeloi Higher Order Software, që prodhoi mjetin e hartimit USE.IT — sisteme të specifikuara nën rregulla aksiomatike në mënyrë që klasa të tëra gabimesh të parandaloheshin para se të ekzekutohej një rresht kodi. Në 1986 themeloi Hamilton Technologies në Kembrixh, duke zhvilluar Universal Systems Language (USL) dhe paketën e saj të mjeteve 001 — 'zhvillim para faktit', inxhinieri sistemesh ku softueri trashëgon rigorozitetin e sistemit që i shërben. Ajo e drejtoi atë punë për pjesën tjetër të jetës.
Nderime
1986 — Çmimi Augusta Ada Lovelace, Association for Women in Computing (fituesja e parë)
2003 — NASA Exceptional Space Act Award — çmimi më i madh që NASA i kishte dhënë ndonjëherë një individi
2007 — Doktoratë nderi, Bard College
2009 — Çmimi i Alumnes së Shquar të Earlham College (më vonë titull nderi)
2016 — Medalja Presidenciale e Lirisë, nderimi më i lartë civil i Shteteve të Bashkuara
2017 — E përmoshme në setin LEGO 'Women of NASA'
2019 — Çmimi Intrepid për Arritje Jetësore
Presidenti Obama duke i dhënë Hamilton Medaljen Presidenciale të Lirisë, 2016 — 'ajo simbolizon gjeneratën e grave të pakënduara që ndihmuan në dërgimin e njerëzimit në hapësirë'. (Foto e Shtëpisë së Bardhë — domain publik)
Fjala e fundit
Hamilton vdiq më 30 shtator 2026 në Kembrixh — brenda pamjes së laboratorit ku kishte mësuar së pari ç'mund të ishte softueri. Ishte 90 vjeçe. Mbijetojnë e bija Lauren — vogëlushja gishtërinjtë e së cilës gjetën një herë një gabim që proceset e NASA-s s'e gjetën — një dhëndër, dy nipër dhe katër stër-nipër. Administratori i NASA-s e quajti 'pioniere puna e së cilës ndihmoi të bëheshin të mundura Apollo dhe udhëtimet e para të njerëzimit në Hënë'. Një shërbesë përkujtimore është planifikuar në Kembrixh.
"Nuk kishte shans të dytë. E dinim. E merrnim punën tonë seriozisht, shumë prej nesh filluan këtë udhëtim ende në të njëzetat… Duhej të gjenim një rrugë dhe e gjetëm. Duke parë mbrapa, ishim njerëzit më të lumtur në botë; s'kishte zgjidhje tjetër veç të ishim pionierë."
Pse është ndër Gjigantët
Kjo faqe ekziston për t'i mësuar njerëzit të programojnë. Hamilton është personi që vërtetoi se programimi mund të mbante peshën e jetëve njerëzore — dhe se kjo kërkonte rigorozitet, përulësi dhe gatishmërinë për të hartuar për një dështim që shpreson të mos vijë kurrë. Një nënë duke debug-uar në laborator në mesnatë, një kompjuter që refuzoi të dorëzohej në rrugë për në Detin e Qetësisë, dhe një fjalë — inxhinieri — që ajo e bëri të vërtetë duke e bërë. Pikërisht për këtë janë Gjigantët.