Jeśli macie styczność ze stronami internetowymi bądź programowaniem, zapewne słyszeliście słowa bug i debugowanie. Pewnie niewielu z Was wie, że wymyślenie ich przypisuje się urodzonej w 1906 roku Grace Hopper, a dokładniej Grace Murray Hopper. Trzeba przyznać, że nawet w dzisiejszych czasach byłaby uważana za wyzwoloną i nastawioną na sukces kobietą, zaś 100 lat temu w pełni uzasadnione było nazwanie jest wizjonerką i rewolucjonistką. Jaka historia kryje się za opracowaniem pierwszego kompilatora? Przybliżymy Wam postać kobiety uznawanej za matkę informatyki.
Grace Hopper. Krótka biografia
Grace Brewster Murray (bo takie było jej panieńskie nazwisko) przyszła na świat w 1906 roku w Nowym Jorku. Już jako dziecko wykazywała zainteresowania daleko wykraczające poza zabawę w organizowanie popołudniowych herbatek dla lalek. Do historii przeszła m.in. anegdota o tym, jak siedmioletnia Grace chcąc rozwikłać, w jaki sposób działa budzik rozebrała na części aż siedem urządzeń. Niestety wtedy nie była jeszcze w stanie złożyć ich z powrotem. Był to jednak wstęp do skomplikowanych zagadnień, którymi miała zajmować się w przyszłości.
Matematyczne zainteresowania Grace zapewne były w pewnym stopniu związane z tym, czym zajmowali się jej rodzice. Ojciec i dziadek dziewczyny byli brokerami ubezpieczeniowymi, zaś matka towarzyszyła w pracy inżynierowi budownictwa. Obojgu rodziców Grace zależało na tym, by ich córka zdobyła dobre wykształcenie, co wcale nie było oczywiste w tamtych czasach. Przypomnijmy, że dopiero okres po drugiej wojnie światowej, gdy kobiety musiały zastąpić mężczyzn w pracy był przełomowym momentem dla emancypacji kobiet. Walter Fletcher Murray – ojciec Grace – od początku namawiał córkę, by zdobyła wykształcenie. Najpierw wysłał ją do kolegium przygotowawczego Hartidge School, a następnie do Vassar College. W 1928 r. Grace była już licencjatem z matematyki i fizyki oraz należała do prestiżowej i ekskluzywnej społeczności Phi Beta Kappa. Tytuł magistra Grace uzyskała dwa lata później na uniwersytecie Yale. To wciąż było zbyt mało, więc 4 lata później obroniła doktorat, a w 1941 r. jako jedna z nielicznych w tamtych czasach kobiet została awansowana na stanowisko profesora nadzwyczajnego.
Tuż po magisterce wyszła za mąż za Vincenta Fostera Hoppera. Małżeństwo trwało 15 lat. Po rozwodzie Grace zachowała nazwisko męża, które miało przejść do historii informatyki.
Grace Hopper: wynalazca kompilatora
Mówi się, że wynalazców różni od zwykłych ludzi to, że nikt im nie powiedział, iż pewne rzeczy są niemożliwe. Ale nie Hooper, której od początku wszyscy powtarzali, że jej pomysł zastosowania kodu składającego się ze zwykłych słów jest po prostu niedorzeczny. Grace była jednak uparta, co udowodniła wiele razy m.in. wstępując do armii. Jej pierwsze podanie zostało odrzucone ze względu na jej wiek (34 lata). Grace jednak nie zrezygnowała i w końcu rozpoczęła karierę w wojsku, którą kontynuowała przez kolejne 42 lata. Podobnie z uporem trwała przy swoim pomyśle na stworzenie systemu komunikacji wykorzystującego zwykłe angielskie słowa do wprowadzania danych do komputera.
W 1943 roku Hopper przyjęto do armii i przydzielono do Rezerwy Marynarki Stanów Zjednoczonych. Choćby ze względu na zbyt niski stosunek wagi do wzrostu uznano, że armia bardziej skorzysta na jej wiedzy z zakresu matematyki i fizyki, niż wykorzystując ją w walce. Grace odbyła roczne szkolenie w szkole podoficerskiej i trafiła do Biura Projektu Obliczeń Statków. To był początek jej prawdziwej kariery! Odtąd jej praca wiązała się z budową komputera elektromechanicznego Harvard Mark I.
Na pomysł wynalezienia oprogramowania, które pozwoli na wprowadzanie danych do komputera przy użyciu zwykłych słów wpadła pracując dla firmy Eckert–Mauchly Computer Corporation, budującej komputer UNIVAC I. Hopper odpowiadała za opracowanie oprogramowania tegoż komputera. Szefowie Grace przez trzy lata nie dawali się przekonać do tego, że komputer może „zrozumieć” człowieka. Wszystko zmieniło się dopiero po przejęciu Eckert–Mauchly Computer Corporation przez Remington Rand. To wtedy Grace udało się zrealizować swoje marzenie i stworzyć prototyp obecnych kompilatorów, system A-0, który przekształcał opisaną specyfikację w kod maszynowy w dalszej kolejności wpisywany do komputera. Później powstało jeszcze kilka systemów, m.in. MATH-MATIC (AT-3) i FLOW-MATIC (B-0).
Na uwagę zasługuje przede wszystkim FLOW-MATIC (B-0), który był urzeczywistnieniem marzeń o stworzeniu języka wyrażającego operacje za pomocą słów. Miał on prostą składnię, a dane były wyraźnie oddzielone od komend. Projekty Grace pozwoliły na stworzenie kompilatora AIMACO, a następnie wywodzącego się z niego języka COBOL, przy tworzeniu którego Hopper była zaangażowana jako konsultantka techniczna.
Język COBOL był odpowiedzią na potrzeby klientów biznesowych. Warto wspomnieć, że choć Hooper jest nazywana „matką COBOL-a” czy też „babcią”, nie była ona bezpośrednio zaangażowana w projekt. Mimo to bez jej wcześniejszych projektów, przede wszystkim FLOW-MATIC, język by nie powstał. Zresztą jak twierdziła sama Grace COBOL 60 był w 95 proc. kopią FLOW-MATIC.
Największa pasja Grace Hooper? Armia!
Największą miłością Grace było wojsko. To dla niego w młodym wieku zrezygnowała m.in. z kariery uniwersyteckiej. W 1966 roku przeszła na emeryturę, jednak po roku dostała nowy przydział na 6 miesięcy. Następnie został on przedłużony na czas nieokreślony. Zadaniem Grace było opracowanie oprogramowania do walidacji dla języka COBOL i jego kompilatora, jako części programu standaryzacji tego języka dla całej marynarki. To nie było jedyne pożegnanie z wojskiem i powrót do służby. Ostatecznie Grace Hooper przeszła na emeryturę dopiero w 1986 roku mając za sobą 42 lata służby. Warto wspomnieć, że jako jedna z niewielu kobiet została awansowana na komandora.
Ciekawostką jest fakt, że Grace Hooper uwielbiała wykłady i rozmowy z młodzieżą. Jej niesamowita charyzma oraz wiedza sprawiały, że większość wykładów kończyła owacja na stojąco. Hopper uwielbiała młodych ludzi za otwartość i kwestionowanie utartych schematów, dzięki czemu jej zdaniem lepiej chłonęli wiedzę. Cechował ją niesamowity talent pedagogiczny i umiejętność trafnego przewidywania kierunków rozwoju technologii.
Grace Hopper zmarła 1 stycznia 1992 roku. To kobieta, która sprawdziła się nie tylko w męskim, wojskowym środowisku, ale też w naukach ścisłych zdominowanych dotychczas przez mężczyzn. Zawdzięczamy jej wymyślenie stosowanych do dziś terminy „bug” i „debugowanie”, ale przede wszystkim „ludzki” język komputerów, który umożliwił ich komercyjne wykorzystanie. Gdyby Grace nie upierała się przez trzy lata, że jej marzenie o przekładaniu słownych komend na kod jest możliwe do zrealizowania, być może jeszcze długo czekalibyśmy na tak powszechne wykorzystanie komputerów w codziennym życiu.
Źródła:
„Grace Hopper: Queen of computer code”, Laurie Wallmark, Sterling Publishing CO INC
„Grace Hopper and the Invention of the Information Age” Kurt W. Beyer, 2012, The MIT Press;
„Grace Hopper: Computer Pioneer” Xina M Uhl, Christy Marx, 2019, Rosen Young Adult
„Grace Hopper: Admiral of the Cyber Sea” Kathleen Broome Williams, 2004, Naval Institute Press
„Grace Hopper: Women in Science and Technology” Jan Fields, 2019, DISCOVERY LIB