„Płoń, maleńka” – tak odpalano silnik Apollo 11

Kod źródłowy programu, który sterował komputerem misji Apollo 11 – pierwszego lądowania na Księżycu – został udostępniony w internecie wraz z oryginalnymi komentarzami twórców. Jak się okazało, udało im się przemycić całkiem sporo heheszków.
Żarty i żarciki trzymały się programistów zarówno w nazwach poszczególnych sekwencji, jak i w komentarzach do kodu, służących do określania jego zastosowania. Programiści stworzyli programy obsługujące moduł dowodzenia CM (w którym przebywali członkowie misji w czasie transferu pomiędzy Ziemia i Księżycem), modułem serwisowym SM oraz modułem księżycowym LM.
Za działanie poszczególnych konstrukcji odpowiadał Apollo Guidance Computer (AGC) – to właśnie programy nim sterujące zostały upublicznione.
Funkcja, która była odpowiedzialna za uruchamianie silników rakietowych w tym ostatnim została nazwana „BURN, BABY, BURN” –z komentarza wynika, że inspiracją był zwyczaj zapowiadania nowych, premierowych utworów przez DJ-a popularnej w latach 50-tych i 60-tych XX wieku rozgłośni radiowej.
Oprogramowanie zajmujące się obsługą przycisków, w jaki wyposażony był AGC, zyskał miano PINBALL GAME BUTTONS AND LIGHTS, w nawiązaniu do stołów do gry. Czy rzeczywiście podobieństwo istniało, można przekonać się oglądając film prezentujący działanie repliki komputera Apollo 11.
W kodzie źródłowym można także znaleźć nazwy i komentarze budzące niepokój – jak na przykład TRASHY LITTLE SUBRUTINE (mała tandetna funkcja) czy oznaczenie niektórych instrukcji jako „to tylko tymczasowe – mam nadzieję nadzieję nadzieję”.
Aplikacje sterujące zostały napisane w specjalnej wersji assemblera – języka programowania niskiego poziomu – która powstała w NASA z myślą o programie Apollo. Jego używanie wymagało dużych umiejętności i skupienia, jako że oznaczało pisanie instrukcja po instrukcji programu sterującego pracą poszczególnych systemów modułu mieszkalnego i lądownika.
Stosowane dziś języki programowania wysokiego poziomu znacznie ułatwiają pracę – pozwalają napisać aplikację w bardziej zrozumiałych dla ludzi komendach, a następnie podczas kompilacji są tłumaczone na instrukcje dla procesora.
To, co dziś można zmieścić w jednej linijce kodu, kiedyś musiałoby być napisane od podstaw w całości. Jak ogromne było to przedsięwzięcie, widać po zdjęciu pokazującym wydruk opracowanego programu i nadzorującej jego tworzenie Margaret Hamilton.
Skany poszczególnych stron z tego stosu zostały udostępnione przez NASA w 2003 roku – na ich podstawie entuzjaści przepisali (a czasem, ze względu na nieczytelność danych, odtworzyli) całość programu.
Po udostępnieniu pełnej wersji kodu źródłowego razem z komentarzami twórców internauci nie mogli powstrzymać się od własnych żartów. Zgłoszono między innymi odkrycie błędu, który może doprowadzić do awarii zbiorników kriogenicznych (co było przyczyną kłopotów misji Apollo 13) – i przedyskutowano go na modłę dzisiejszych działów wsparcia IT („to problem sprzętowy, nie programowy, zgłoszenie zamknięte”).
Do oprogramowania dodano funkcję MATTDAMON, której zadaniem jest wyliczenie odpowiedniej trajektorii na Marsa.
A Wam udało się znaleźć coś fajnego w programie, który dostarczył ludzi na Księżyc?
Oceń artykuł