Javno objavljen kod koji nas je odveo na Mesec — Pogledajte programerski humor u Apolovom kodu

Računar koji je bio zadužen za Apollo 11 ima 1300 manje procesorske moći od iPhone 5s, a komentari koji se nalaze u njegovom kôdu daju legendarnoj misiji i dozu ljudskosti kroz humor.

Marija Gavrilov - 12. Jul, 2016.

Računar koji je tročlanu posadu Apollo 11 odveo na Mesec pre četrdeset i sedam godina imao je 1300 puta manje procesorske moći od vašeg iPhone 5s. Mogao je da obavlja osam zadataka istovremeno — što je bio pravi poduhvat u to vreme, a nešto što mi danas uzimamo zdravo za gotovo.

Dobar podsetnik za ovo čudo spoja hardvera i softvera koji je prve ljude lansirao van Zemljine orbite, došao nam je prošle nedelje kada je kôd za Apollo Guidance Computer (AGC) postavljen na Githubu, a otkriven od strane ekipe Quartza.

Sa šesnaestobitnim registrom, 64Kb memorije i funkcionisanjem na 0,043MHz, što reče neko “dovoljno da danas pustiš vodu u toaletu Međunarodne svemirske stanice”, inženjerski tim uspeo je da kontroliše mašineriju u izuzetno rizičkim uslovima koje je astronaut Dejvid Skot opisao u jednom svom predavanju:

Zamislite da imate loptu za basket i bejzbol udeljene 14ft, gde bejzbol predstavlja Mesec, a basket Zemlju; ako uzmete deo papira, ta debljina papira bio bi koridor koji morate da potrefite na putu nazad [sa Meseca].

Softver za AGC pisan je u assembly programskom jeziku, stvorenom za razumevanje od strane mašine, a ne čoveka. Zbog toga ga danas mnogi programeri smatraju obskurnim i osećaju se “razmaženo”

MIT inženjeri i inženjerke sastavili su hiljade linija tog kôda, a čuvena je slika direktorke tima za softver inženjerstvo, Margaret Hamilton, pored gomile papira koji ga sadrže.

margaret hamilton

Sa objavljenim kôdom, isplivao je i programerski humor, sakriven među komentarima koje su ostavljali jedni drugima, astronautima ili samima sebi. [neke od šala su baš 1960-e, te se ne brinite ako ih ne kapirate]

Recimo, uvodni komentari koji otvaraju jedan od source code fajlova pod nazivom Burn_Baby_Burn, pojašnjavaju kako je disko pronašao svoje mesto u Apolovom računaru:

Ovo vodi poreklo iz 1965. godine i pobuna u Los Anđelesu, a inspirisano je sjajnim disk džokejem i vlasnikom radio stanice Magnifisent Montejg.

Magnifisent Montejg je koristio frazu “Burn, baby! BURN!” dok je spinovao najpopularnije nove ploče.

Još jedna od omiljenih instanci humora u kôdu, nalazi se u delu instrukcija vezanim za lociranje antene radara prilikom sletanja i pretpostavlja se da je služio da upozori astronaute da je potrebno repozicionirati je. Kaže: “Savij tu smešnu stvar”.

Screen Shot 2016-07-12 at 1.11.31 PM

Programeru nije promaklo da ostavi znake nade da će dve linije kôda u LUNAR_LANDING_GUIDANCE_EQUATIONS.s biti prolazne, ali su postale trajne:

Screen Shot 2016-07-12 at 2.00.13 PM