Evans. Jak Grace Hopper okiełznała Mark I

Najtrwalszy wkład Grace Hopper w nowo powstałą dziedzinę programowania polegał na jej demokratyzacji – dążyła do takich postępów programistycznych, które radykalnie zmienią sposób, w jaki ludzie komunikują się z komputerami.

Publikacja: 21.02.2020 18:00

Evans. Jak Grace Hopper okiełznała Mark I

Foto: materiały prasowe

Grace była przekonana, że gdyby tylko była mężczyzną, to marynarka posłałaby ją na morze. Jednak nowo mianowana porucznik Hopper nie spędziła nawet jednego dnia na pokładzie okrętu marynarki wojennej, gdyż coś w jej historii zatrudnienia wzbudziło zainteresowanie – z całej listy osiągnięć znaczące okazały się studia nad metodą różnic skończonych na Uniwersytecie Nowojorskim pod kierunkiem Richarda Couranta. Marynarka z dnia na dzień zmieniła rozkazy dla Grace. Podczas szkolenia przypuszczała, że jej praca w wojsku będzie polegała na łamaniu szyfrów wroga wraz z elitarną grupą kryptografów – matematyków i logików pracujących pod nadzorem jednego z dawnych profesorów Grace z Uniwersytetu Yale w budynku łączności marynarki wojennej. Uczyła się nawet kryptografii, żeby być przygotowaną na taką ewentualność. Tymczasem wysłano ją na Harvard, gdzie, jak chętnie mawiała, została trzecią programistką pierwszego na świecie komputera.




Dwie bestie

Kiedy pojawiła się na Harvardzie w lipcu 1944 roku, szybko się zgubiła. Nigdzie nie mogła znaleźć Biura Łącznikowego Marynarki, nie poinformowano jej, gdzie ma stacjonować ani czym się zajmować. Kręciła się po kampusie, aż wreszcie uzbrojony strażnik zaprowadził ją do piwnicy uniwersyteckiego Laboratorium Fizyki imienia Cruft. Przy drzwiach czekał na nią dziarski, niemal dwumetrowy mężczyzna z głębokimi zakolami, który już był poirytowany. Powitał ją słowami: „Gdzie pani się podziewała?". Zbita z tropu jego zachowaniem, powiedziała, że właśnie przyjechała ze Szkoły Podchorążych i cały ranek szukała właściwego miejsca. „Byłam nieco zdezorientowana i w tym momencie oczywiście kompletnie wystraszona zachowaniem komandora porucznika", wspominała.

„Powiedziałem im, że nie musi pani tego robić", wymamrotał. Jego zdaniem kobiety nie potrzebowały szkolenia wojskowego. Spytał, czy znalazła już sobie jakąś kwaterę. Wyjaśniła, że dopiero przyjechała. „No dobrze", odpowiedział, „zatem proszę zabrać się do pracy, a kwaterę zorganizuje pani sobie jutro".

Więc zabrała się do pracy, i to jak. Grace podczas wojny nie uczestniczyła w walkach, ale mimo to pokonała dwie bestie. Pierwszą z nich był ów wybuchowy mężczyzna, komandor porucznik Howard Aiken. Jeszcze jako student fizyki na Harvardzie Aiken – który ogromnie podziwiał Charlesa Babbage'a – zaprojektował mechaniczne urządzenie arytmetyczne będące w stanie rozwiązać każde zadanie, od podstawowych działań arytmetycznych aż po równania różniczkowe, jeśli tylko dawało się je uprościć do analizy numerycznej. Była to kwestia wygody – jego własna rozprawa doktorska była koszmarem pełnym długich i uciążliwych obliczeń. Owo urządzenie, zbudowane przez IBM w zamian za prawa własności i przekazane na użytek uniwersytetu na czas wojny, było drugą bestią ujarzmioną przez Grace. Ponieważ Aiken wyobrażał je sobie jako serię połączonych łańcuchowo kalkulatorów wykonujących pracę tuzina ludzi, nazwał je Automatic Sequence Controlled Calculator (Automatycznym, Sterowanym Sekwencyjnie Kalkulatorem). Wszyscy na Harvardzie nazywali je komputerem Mark I. Mark I został przypisany do Bureau of Ordnance (Biura Uzbrojenia Marynarki Wojennej), gdzie miał wykonywać obliczenia balistyczne dla celów wojennych, a Aiken potrzebował matematyków, którzy znali się na równaniach różniczkowych metodą różnic skończonych, a więc dokładnie tym, czym Grace się zajmowała, studiując u Richarda Couranta podczas tego wspaniałego roku, zanim Japończycy zbombardowali Pearl Harbor. Jednak Grace tego wszystkiego jeszcze nie wiedziała. Kiedy zawierała znajomość z Aikenem, usłyszała harmider w sąsiednim pomieszczeniu. Aiken zaprowadził ją do źródła hałasu. „To maszyna obliczeniowa", powiedział. Oszołomiona Grace obejrzała dokładnie urządzenie. „Było całkowicie pozbawione osłony", wspominała. Potężny Mark I ważył cztery i pół tony, miał prawie dwa i pół metra wysokości, tysiące ruchomych części i jakieś osiemset pięćdziesiąt kilometrów okablowania. Jego mechanizmy wewnętrzne były odsłonięte, ruchliwe i hałaśliwe. „Mogłam tylko na to patrzeć", wspominała Grace. „W tamtej chwili nie byłam w stanie nic powiedzieć".

Hardware czy software

Mark I bardziej przypominał mechaniczne maszyny Charlesa Babbage'a niż komputery we współczesnym znaczeniu tego słowa – wewnątrz jego stalowej obudowy obracający się wał napędowy zasilany przez silnik o mocy czterech koni mechanicznych uruchamiał sekwencję przekładni i liczników ciągnącą się wzdłuż całego urządzenia. Kod dla Mark I pisano ręcznie, ołówkiem, na znormalizowanym papierze kodowym, a potem przenoszono go – dosłownie wybijając – na szpule taśmy szerokości trzech cali, przypominające wstęgi do pianoli czy karty perforowane do krosna Jacquarda. Umiejscowienie otworów na taśmie stosujące niepowtarzalny kod ośmiobitowy odpowiadało cyfrom, procesom i zastosowaniom danych obliczeń. Chociaż Mark I był programowalny w takim sensie, że przyjmował te rolki podziurkowanej taśmy, rozróżnienie pomiędzy sprzętem (hardware) a oprogramowaniem (software) było wówczas nieostre, a wręcz nie istniało – każde obliczenie wymagało obrócenia przełączników i przepięcia kabli.

Howard Aiken przedstawił Grace pozostałym członkom załogi, dwóm podporucznikom marynarki, którzy przyjechali na Harvard, kiedy ona była jeszcze w Szkole Kadetów. Później dowiedziała się, że jeden przekupywał drugiego, żeby wykręcić się od siedzenia koło nowego rekruta – „byli przekonani, że przyjeżdża stara siwowłosa nauczycielka, i żaden z nich nie chciał zająć sąsiedniego biurka". Aiken dał jej książkę kodową, parę stron niezrozumiałych poleceń i zadanie: napisać program dla Mark I, który wyliczy współczynniki interpolacji dla arcus tangens z dokładnością do dwudziestu trzech miejsc po przecinku. „A potem powiedział, że mam na to tydzień", opowiadała, „tydzień, żeby nauczyć się, jak programować tę bestię i uruchomić program". Zadanie samo w sobie nie było szczególnie trudne dla Grace – miała przecież doktorat z matematyki. To maszyna była dla niej niezrozumiała. Nie miała żadnej instrukcji, nie było precedensu, na którym mogłaby się oprzeć, ponieważ Mark I był pierwszym urządzeniem tego rodzaju. Grace potrafiła wiele rzeczy, ale brakowało jej przygotowania inżynierskiego i nie odróżniała przełączników od przekaźników. Aiken ją sprawdzał.

Będąc z natury samoukiem, podjęła to wyzwanie. Ślęczała nad książką kodową i wypytywała dwóch podporuczników, głównie dwudziestotrzyletniego Richarda Blocha, świeżo upieczonego absolwenta Harvardu i speca od matematyki, który miał zostać jej najbliższym współpracownikiem. Po laboratorium kręcili się jeszcze inżynierowie IBM, którzy usuwali usterki – od nich także wydobywała wszystkie możliwe informacje. Siedziała do późnej nocy, usiłując poznać budowę maszyny przez analizowanie planu i schematów połączeń Mark I. Czasami spała przy biurku. Wiele lat później, kiedy Grace była już znaną postacią w nowej dziedzinie programowania komputerów, zawsze dawała najtrudniejsze zadania najmłodszym i najmniej doświadczonym członkom zespołu. Doszła do wniosku, że oni jeszcze nie wiedzą, co jest niemożliwe.

Podczas pierwszego roku na Harvardzie pracowała bez przerwy i kiedy do zespołu dołączali nowi programiści, Grace otrzymywała kolejne stopnie wojskowe. Dzięki tej samej pracowitości i pomysłowości, którą wniosła do uczenia studentów, stała się nieocenionym członkiem zespołu. Siwowłosa nauczycielka z północy stanu Nowy Jork spotkała wybitnych matematyków, inżynierów i praktycznie wszystkich z mikroskopijnego świata informatyki. „To było fascynujące", mówiła, „wylęgarnia pomysłów, koncepcji, marzeń i wszystkiego pod słońcem". Zapotrzebowanie na obliczenia było tak wielkie, że Aiken zaprojektował drugi komputer, Mark II. Grace również się go nauczyła.

Okablowanie szefa

Podobnie jak do jego maszyn, tak i do samego Aikena brakowało instrukcji obsługi. Był wybuchowy, drażliwy i przywiązywał obsesyjną wagę do szczegółów. Dowodzenie zespołem pracującym nad jego własnym wynalazkiem napawało go ogromną dumą. Chociaż Mark I został zbudowany przez IBM i schowany w piwnicy prestiżowego uniwersytetu, Aiken zajmował się nim tak, jakby kierował placówką marynarki wojennej. Surowo przestrzegał dyscypliny. Wszyscy podwładni mieli przychodzić do pracy w pełnym umundurowaniu i tytułować go komandorem porucznikiem. Do komputera odnoszono się w rodzaju żeńskim, tak jak do okrętów marynarki wojennej. Aiken zamęczał ludzi pracą – kiedy doszło do błędu, zdarzało mu się ryknąć na winowajcę. Krytyka była tak gwałtowna i zagorzała, że Grace często zajmowała się usuwaniem usterek po godzinach, żeby mieć ciszę i spokój. Ale nauczyła się postrzegać swojego szefa jako rodzaj maszyny. „Jest tak okablowany", powiedziała Blochowi, który często podpadał zwierzchnikowi. „Jeżeli ktoś zrozumiał Aikena i sposób, w jaki jest okablowany, to doskonale mu się z nim pracowało. Ja nie miałam najmniejszych trudności. Ale jeżeli ktoś usiłował powiedzieć mu, co należy zrobić, to Bóg jeden mógł go uratować". Tak poważne podejście Aikena do hierarchii wojskowej było trudne, ale koniec końców wyszło Grace na dobre – traktowanie w jego Laboratorium Obliczeniowym było w dużej mierze współmierne do rangi i zdolności, nie płci. Mundury i oficjalne tytuły przyczyniały się do zanikania tradycyjnych ról społecznych, podobnie jak całkowite odizolowanie laboratorium od świata zewnętrznego. I chociaż Aiken nigdy nie chciał mieć kobiety oficera w swoich szeregach, musiał się pogodzić z przydzieleniem mu Grace, ponieważ trzymał się protokołu. A i tak, jak Grace powiedziała Howardowi Aikenowi, potrzebowałby w laboratorium kobiety.

Miała słuszność. Ostatecznie została prawą ręką Aikena i wkrótce była całkowicie odpowiedzialna za Mark I. Napisała kod, który rozwiązywał część z najtrudniejszych wojennych zadań matematycznych, a nawet opracowała podręcznik obsługi tego komputera, szczegółowy pięciusetstronicowy dokument pełen schematów obwodów i kodów operacji. Wraz ze swoim współpracownikiem Richardem Blochem opracowała system kodowania i przetwarzania wsadowego, co uczyniło z laboratorium najwydajniejsze centrum przetwarzania danych w tamtym czasie. Utrzymała porządek w wyczerpującym środowisku wojennym, które przerastało możliwości mniej zdolnych oficerów. A oprócz zasadniczych kwalifikacji Grace obecność kobiety w zespole niosła ważne korzyści. Kiedy Mark I miał problemy natury mechanicznej, Grace czasem „wyciągała lusterko z torebki, wtykała je przed krzywki i szukała iskier". Pod koniec swojej kariery zawodowej Aiken ocenił swoją koleżankę krótko, przy czym w jego ustach było to najwyższe wyróżnienie: „Grace była równym gościem".

Złowróżbne brzęki, szczękanie i dygotanie

Podobnie jak okręt podwodny, tak i Mark I przez całą dobę znajdował się pod opieką pracujących na ośmiogodzinne zmiany pracowników, a sam komputer podczas wojny działał przez imponujące dziewięćdziesiąt pięć procent czasu. Zapotrzebowanie na wojenne obliczenia nie ustawało, a pilne prośby docierały do Laboratorium Obliczeniowego z wszystkich frontów konfliktu. Grace, która zawsze była nienasycona w zdobywaniu wiedzy i uczęszczała na wszystkie możliwe zajęcia w Vassar, zabrała się do pracy. Nauczyła się przekładać złożoną oceanografię, poławianie min, zapalniki zbliżeniowe i zadania balistyczne na proste arytmetyczne kroki, wprowadzając ściśle kontrolowany porządek do bezładnego, gwałtownego świata.

Obliczenia Mark I były narażone na wszelkiego rodzaju niepowodzenia: błędny kod, wadliwe przekaźniki oraz przestoje w pracy sygnalizowane przez złowróżbne brzęki, szczękanie i dygotanie. Aby temu zapobiec, zespół Aikena często pracował do późnej nocy. Pewnego wieczoru we wrześniu 1945 roku przez uchylone okno wleciała duża ćma, którą przyciągnęło światło maszyny. Niedługo potem Grace znalazła jej truchło zgniecione przez stalową zworę jednego z przekaźników. Przykleiła je taśmą do dziennika, z dopiskiem: „pierwszy przypadek rzeczywistego robala". Właśnie robal lub pluskwa, czyli angielskie bug, to żargonowe określenie pochodzące jeszcze z XIX wieku – już Thomas Edison określał tym mianem mechaniczne zakłócenia, „małe usterki i utrudnienia" – a Grace słynęła w laboratorium z nabazgranych na tablicy małych robali i potworów, które bałaganiły w laboratorium: smok wygryzał dziury w taśmie dziurkowanej, a „chochlik miał długi nos, którym podnosił wybite kółka i wpychał w taśmę". Po incydencie z ćmą kupiła w mieście pudełko plastikowych pluskiew i porozkładała je dla żartu za komputerem, wywołując tym dwudniową panikę.

Mark I i projekt Manhattan

Podczas wojny Laboratorium Obliczeniowe było odizolowane od kilku innych projektów informatycznych na świecie, a Grace Hopper, zajmując się codziennymi obliczeniami, nie miała ani czasu, ani sposobności, żeby dowiedzieć się, co dzieje się w jej dziedzinie. Jednak przedstawiciele dyscypliny czasem zjawiali się u niej. Grace pracowała na Harvardzie ledwie kilka miesięcy, kiedy z wizytą w laboratorium pojawił się fizyk John von Neumann. Von Neumann mógł się swobodnie poruszać – większość 1944 roku spędził na odwiedzaniu rozmaitych projektów obliczeniowych w Stanach Zjednoczonych, szukając maszyny na tyle mocnej, żeby poradziła sobie ze złożonym równaniem różniczkowym cząstkowym. Mark I był pierwszym dużym komputerem, na jaki się natknął, i przez trzy miesiące tamtego lata obozował w harvardzkiej sali konferencyjnej, gdzie rozpisywał swoje zadanie na tablicy, podczas gdy Richard Bloch ustawiał operacje na komputerze. Grace, nadal nowa w laboratorium, ale biegła w równaniach różniczkowych, asystowała na każdym etapie.

Ani Grace, ani Richard nie znali zastosowania rozwiązywanego zadania – ciekawiło ich tylko jako interesujące wyzwanie matematyczne. A von Neumann był ekscentryczną postacią – ten gadatliwy węgierski teoretyk był wówczas równie znany co jego kolega z Princeton Albert Einstein. Kiedy Bloch i von Neumann pracowali nad zadaniem, biegali w tę i z powrotem pomiędzy salą konferencyjną a komputerem. Fizyk wykrzykiwał liczby, jak tylko Mark I je z siebie wypluwał, „w dziewięćdziesięciu dziewięciu przypadkach na sto", jak z podziwem zauważyła Grace, „z najwyższą dokładnością – coś niezwykłego". Po trzech miesiącach von Neumann zabrał te wyniki z powrotem do położonego na pustyni miasteczka Los Alamos w stanie Nowy Meksyk, gdzie konsultował projekt Manhattan. Równanie różniczkowe cząstkowe okazało się matematycznym modelem przebiegu implozji bomby atomowej. Dopóki bomby nie spadły na Nagasaki oraz Hiroszimę, Grace nie wiedziała, co dokładnie pomogła wyliczyć.

Grace nie zawsze miała czas zastanowić się, dokąd trafiają wyniki obliczeń i jakim celom służą. Obliczenia stale napływały, a niektóre – jak to wykonane dla von Neumanna – były niemal niewyobrażalnie złożone. Aby oszczędzić na czasie przetwarzania, Grace i Richard wymyślili składnię kodowania oraz obejścia, które położyły podwaliny pod sposób, w jaki do dziś pisze się kod. Już w 1944 roku Grace zdała sobie sprawę, że dzięki wielokrotnemu wykorzystywaniu skrawków kodu, które zaczęto nazywać podprogramami, nie musi pisać kodu od zera w każdym nowym zadaniu. W czasie wojny robiono to nieoficjalnie – osoby kodujące, czyli programiści z zespołu, dzieliły się swoimi notatnikami, kopiując odręcznie odpowiednie fragmenty. W końcu zwyczaj ten został sformalizowany i przyszłe komputery konstruowano już z bibliotekami podprogramów, co pozwoliło nawet początkującym programistom korzystać z uporządkowanych w pakiety sekwencji instrukcji. Kiedy kod Grace stawał się trudny do zrozumienia, opatrywała ona kod główny uwagami, opisując kontekst i dodając równania, dzięki czemu później kolegom było łatwiej zrozumieć jej pracę. Taki system opisywania kodu przyjął się wśród programistów i nadal jest powszechnym sposobem postępowania – dobry kod zawsze jest udokumentowany.

Właśnie takie działania, które upraszczały i zwiększały przystępność sztuki programowania komputerów, stanowiły wizytówkę Grace. Jeszcze przed wojną, kiedy prowadziła zajęcia w Vassar, kazała studentom pisać eseje o zadaniach matematycznych, ponieważ nie ma sensu uczyć się matematyki, jeżeli nie potrafi się przekazać jej znaczenia komuś innemu. Kiedy wróciła do świata cywilnego i podjęła pracę w pierwszej komercyjnej firmie informatycznej, nadal stosowała taką logikę działania. Najtrwalszy wkład Grace w nowo powstałą dziedzinę programowania polegał na jej demokratyzacji – dążyła do takich postępów programistycznych, które radykalnie zmienią sposób, w jaki ludzie komunikują się z komputerami. Z jej pomocą nie będą potrzebowali zaawansowanych terminów matematycznych ani nawet zer i jedynek. Wystarczą im słowa. 

Fragment książki Claire L. Evans „Pionierki internetu" w przekładzie Magdaleny Rabsztyn-Anioł, która ukazała się nakładem Wydawnictwa Uniwersytetu Jagiellońskiego. Tytuł i śródtytuły pochodzą od redakcji

Plus Minus
„Czechowicz. 20 i 2”: Syn praczki i syfilityka
Materiał Promocyjny
Gospodarka natychmiastowości to wyzwanie i szansa
Plus Minus
„ale”: Wschodnia aura
Plus Minus
„Inwazja uzdrawiaczy ciał”: W poszukiwaniu zdrowia
Materiał Promocyjny
Suzuki Vitara i S-Cross w specjalnie obniżonych cenach. Odbiór od ręki
Plus Minus
„Arcane”: Animowana apokalipsa
Materiał Promocyjny
Wojażer daje spokój na stoku