Kobiety w historii IT, czyli co wydobywa z zapomnienia Computer History Museum i jego kolekcja historii mówionej

Gdyby zrobić sondę uliczną na temat pierwszych komputerów i programistów, w większości ludzie wskazywaliby na Steve Jobsa, Billa Gates’a, może niektórzy wymieniliby jeszcze Steva Wozniaka. Ugruntowana w powszechnej świadomości historia komputerów to historia zakładanych w garażach firm przez młodych mężczyzn. Ba, programowanie to domena mężczyzn. Nie jest to rzecz jasna prawdą, obecnie na szczęście coraz więcej kobiet wybiera informatyczne kierunki, a widok kodującej młodej dziewczyny przebija się też do popkultury. Jest to o tyle istotne, że w coraz większym stopniu to właśnie popkultura kształtuje naszą rzeczywistość, a lansowane przez nią jeszcze do niedawna stereotypy mogły się też przyczynić do spadku liczby kobiet w przemyśle technicznym. Jeszcze w latach 80. kobiety stanowiły 37% studentów kierunków informatycznych, obecnie stanowią 18% (dane dot. St. Zjednoczonych).

W ogłoszonym w maju 2014 roku raporcie Google przyznaje, że na stanowiskach technicznych zatrudnia 17% kobiet, a jest firmą technologiczną z jednym z najwyższych wskaźników zatrudnienia kobiet na tych stanowiskach.

Dane są o tyle zadziwiające, że historie programowania tworzyły kobiety.

W wydanej niedawno książce The Innovators : How a Group of Hackers, Geniuses, and Geeks Created the Digital Revolution Walter Issacson przypomina, że pierwszą programistką była Ada Lovelace (1815-1852).

Ada Lovelace

Ada Lovelace Źródło: Margaret Sarah Carpenter [Public domain], via Wikimedia Commons

Była ona jedyną prawowitą córką poety Lorda Byrona i jego żony Annabelli Milbanke. Podobno matka, chcąc wychować córkę na zupełne przeciwieństwo ojca uczyła jej tylko matematyki i nauk przyrodniczych. Nie wiadomo ile w tym prawdy, gdyż inne źródła mówią, że Ada właściwie niezbyt dobrze znała obydwoje rodziców. To co jednak o niej wiemy to to, że była zdolną matematyczką i członkinią Blue-Stocking Society – pierwszej naukowej organizacji kobiecej. W wieku 17 lat poznała koncepcją maszyny analitycznej Charlesa Babbage – mechanicznego komputera i została nią oczarowana. W latach 1842-1843 przetłumaczyła rozprawę Loisa Menebrei, włoskiego matematyka opisującego maszynę Babbage’a. Do artykułu załączyła dokładny opis metody za pomocą której maszyna analityczna mogłaby obliczać liczby Bernoulliego. Pomysł zakładał programowanie działań maszyny za pomocą specjalnie przygotowywanych kart dziurkowanych – aby obliczyć każdą liczbę Bernoulliego potrzeba było 75 takich kart. Właśnie ten opis uznano za pierwszy program komputerowy. W załączonych notatkach wyraziła też przekonanie, że tego rodzaju maszyna jest w stanie robić więcej rzeczy niż jedynie operacje na liczbach, a oprócz liczb jest w stanie operować też na symbolach – wystarczy zapisać je w sposób logicznie powiązany. W swoich notatkach pisała:

The operating mechanism can even be thrown into action independently of any object to operate upon (although of course no result could then be developed). Again, it might act upon other things besides number, were objects found whose mutual fundamental relations could be expressed by those of the abstract science of operations, and which should be also susceptible of adaptations to the action of the operating notation and mechanism of the engine. Supposing, for instance, that the fundamental relations of pitched sounds in the science of harmony and of musical composition were susceptible of such expression and adaptations, the engine might compose elaborate and scientific pieces of music of any degree of complexity or extent.

Wizja, którą zarysowała w połowie XIX wieku, jak pisze Issacson, „stała się podstawową koncepcją lat cyfrowych: każdą treść, dane lub informację – muzykę, tekst, obraz, liczby, symbole, dźwięk, wideo – można wyrazić w formie cyfrowej i przetwarzać za pomocą urządzeń”.

Maszyna zaprojektowana przez Charlesa Babbage’a ostatecznie nigdy za jego życia nie powstała. W latach 1989-1991 odtworzono ją dziewiętnastowiecznymi środkami w Muzeum Nauki w Londynie.

W 1944 roku IBM zbudował i dostarczył na Harvard maszynę elektro-mechaniczną: Automatic Sequence Controlled Calculator (ASCC), zwaną także Harvard Mark I. Pomysłodawcą i głównym konstruktorem był Howard Aiken. Maszyna ważyła przeszło pięć ton, miała prawie 16 metrów długości i 2,5 metra wysokości. Składała się z ok. 800 km przewodów, które rozciągały się pomiędzy trzema milionami połączeń. Posiadała blisko 35000 kontaktów, 2225 liczników oraz 1464 przełączniki. W pierwszych latach Mark I pracował przede wszystkim na potrzeby wojska obliczając trajektorie artyleryjskie. Brał też udział w obliczeniach w ramach programu Manhattan.

Tworząc koncepcję Mark I Aiken uważnie studiował idee maszyny analitycznej Babbage’a. Podobnie jak XIX-wieczny pierwowzór ASCC mógł przyjmować dane za pomocą taśm perforowanych. Próbami programowania tej wielkiej maszyny zajmował się zespół pionierów branży informatycznej, z których najsłynniejszą była Grace Hopper.Commodore Grace M. Hopper, USN (covered)

Hopper wstąpiła do marynarki po wybuchu wojny, w 1943 roku. miała już wówczas 37 lat i doktorat z matematyki na Yale. Po ukończeniu kursów w 1944 roku została przydzielona do projektu realizowanego przez marynarkę w porozumieniu z Harvardem. Główne zadanie przy programowaniu Mark I polegało na rozbijaniu każdego skomplikowanego obliczenia na pojedyncze zadania i odpowiednie sekwencjonowanie ich przy wprowadzaniu do komputera. Trzeba podkreślić, że Hopper była pionierem takich działań. Konstruując Mark I inżynierowie przygotowali książkę poleceń, ale nie było jeszcze żadnego programu do jego obsługi. Po jakimś czasie Hopper wraz z zespołem zaczęła gromadzić wszystkie podprogramy składające się ze składowych równań i wykorzystywać je ponownie przy kolejnych obliczeniach. Tworzenie pewnych modułów programowania kart perforowanych przyśpieszało prace obliczeniowe.

Aiken, który był przełożonym Hopper (jak również oficerem marynarki), widząc jej umiejętności w tworzeniu programów obliczeniowych polecił jej napisać pierwszy podręcznik do nauki programowania. Jak sama nieco żartobliwie wspomina:

I was a mathematical officer. We did coding, we ran the computer, we did everything. We were coders. I wrote [programs for] both Mark I and Mark II. Commander [Howard H.] Aiken came up to my desk one day and he said, “You’re going to write a book.” I said, “I can’t write a book.” And he said, “You’re in the Navy now.” And that settled that, and I learned to write a book.

Od 1943 roku John Eckert i John W. Mauchly budowali na Uniwersytecie Pensylwanii inną maszynę: Electronic Numerical Integrator And Computer, w skrócie ENIAC. Powszechnie uważaną za pierwszy komputer. W odróżnieniu od Mark 1 ENIAC wykorzystywał lampy elektronowe. Był wielką maszyną ważącą niecałe 30 ton i zajmującą powierzchnię ok. 140 metrów kwadratowych. Składał się z blisko 18800 lamp elektronowych, 6000 komutatorów oraz 50 000 oporników, a programowany był początkowo przez przełączanie wtyków kablowych, później – podobnie jak Mark I i II – za pomocą kart perforowanych.

Two women operating ENIAC

Jean Jennings (z lewej) i Fran Bilas (z prawej) przy pulpicie kontrolnym ENIAC, via Wikimedia Commons

Nastawianie pracy ENIAC było żmudne i skomplikowane. Wszystkie instrukcje potrzebne do całości obliczeń musiały być wprowadzone przed rozpoczęciem pracy. Dane wprowadzano za pomocą ręcznego nastawiania komutatorów na trzech pulpitach sterowniczych. Do poprawnego uruchomienia wszystkich pulpitów należało ręcznie nastawić na planszach 4368 komutatorów.

W 1945 roku do obsługi ENIAC zatrudniono sześć młodych kobiet po studiach matematycznych: Frances Bilas (później Sepnce), Jean Jennings (Bartik), Ruth Lichterman (Teitelbaum), Kay McNulty (Mauchly), Betty Snyder (Holberton) i Marlyn Wescoff (Meltzer). Jak wspomina Kay McNulty po wstępnym szkoleniu dostały stos planów i schematów inżynierskich maszyny z poleceniem, aby nauczyły się jak ona pracuje i jak należałoby ją programować. W dodatku początkowo nie miały dostępu do ENIAC, gdyż musiały uzyskać odpowiedni stopień dostępu do tajemnicy wojskowej.

W owym czasie ENIAC był przede wszystkim odpowiedzialny za obliczenia trajektorii artyleryjskich. Początkowo uważano, że najważniejsza jest strona sprzętowa i nie przykładano wielkiej wagi do wprowadzania danych, uważając to za pracę powtarzalną i nietwórczą. Dlatego też zatrudniano do tego kobiety, podczas gdy inżynierowie nie zawracali sobie tym głowy. „Dziewczyny ENIAC” (taki nosiły zbiorowy pseudonim) szybko jednak zyskały szacunek wszystkich pracowników. Dzięki ich pomysłom w opracowaniu odpowiedniego oprogramowania znacznie uproszczono procedury znajdowania przepalonej lampy, co do tej pory zajmowało inżynierom dużo czasu, a było kluczowe dla prawidłowej pracy komputera. Niedługo też, podobnie jak w projekcie Mark I, podczas programowania zaczęły tworzyć gotowe schematy i podschematy, które można było wykorzystywać przy podobnych obliczeniach. To co jednak było największym przełomem, to stworzenie idei programu nadrzędnego, który mógł dowolnie powtarzać kod oraz podprogramów i podprogramów zagnieżdżonych, dzięki którym ENIAC mógł sobie poradzić z obliczeniami znacznie bardziej skomplikowanymi niż na początku wydawało się inżynierom.

Grace Hopper and UNIVAC

Grace Hopper i UNIVAC, via Wikimedia Commons

Grace Hopper pracując już przy kolejnym projekcie UNIVAC I (UNIVersal Automatic Computer I) w latach 1950-1952 stworzyła pierwszy kompilator: A-0 (Arithmetic Language version 0). Przy projekcie współpracowała także Betty Snyder. Kompilator tłumaczył kod źródłowy przez język programowania na kod maszynowy. Wprowadzenie kompilatorów pozwoliło oderwać się programistom od kodu maszynowego i znacznie uprościło ich pracę. W latach 1955-1959 Hopper stworzyła FLOW-MATIC, pierwszy język programowania wykorzystujący określenia słowne języka angielskiego. Był to też pierwszy język oddzielający opisywane dane od wykonywania na nich działań – m. in. zapoczątkował ewolucję, która doprowadziła do powstania systemów bazodanowych (np. MySQL). FLOW-MATIC z kolei wniósł znaczny wkład w stworzenie języka COBOL – COmmon Business-Oriented Language. Według badań przeprowadzonych w 1997 roku w języku COBOL istniało ok. 200 miliardów linii kodu (przy przerastających 5 mld rocznie) odpowiedzialnych za obsługę ok. 80% światowego obrotu finansowego.

Grace HoperGrace Hopper przeszła do historii IT także w inny sposób – wprowadzajac do żargonu informatycznego pojęcie bug. Podczas przeprowadzania obliczeń na Mark II, w 1947 roku, nastąpiła awaria. Przy poszukiwaniu źródeł problemu zespół znalazł ćmę, która dostała się do maszyny. Hopper przylepiła ćmę taśmą klejącą do książki logów i podpisała: “Pierwszy przypadek znalezienia pluskwy”. Termin debugging (odpluskwianie) wszedł na stałe do żargonu informatycznego na oznaczenie procesu eliminowania błędów w kodzie.

Do dzisiejszego dnia wkład kobiet w rozwój współczesnych technologii nie został należycie doceniony, nadal często przemilcza się ich udział w pionierskich projektach. Chociażby w polskiej wersji Wikipedii przy haśle ENIAC nie ma wzmianki o opisywanych bohaterkach.

Kalifornijskie Muzeum Historii Komputerów (Computer History Museum) m. in. udostępnia kolekcję historii mówionej dokumentującą wywiady z najbardziej wpływowymi osobami świata nowych technologii. Dzięki tej inicjatywie przeczytałem wywiady z Grace Hopper oraz Jean Jennings, które były przyczyną powstania tego wpisu. Warto tam zajrzeć.

Grace Hopper u Davida Lettermana

Jean Jennings (Bartik) i kobiety ENIAC

Jean Jennings (Bartik) – 2008 r. Computer History Museum

Walter Isaacson, The Innovators: How a Group of Hackers, Geniuses, and Geeks Created the Digital Revolution, New York 2014, ss. 560. ISBN  978-1476708690.
Autumn Stanley, Mothers and Daughters of Invention: Notes for a Revised History of Technology, Rutgers University Press, 1995, ss. 748. ISBN 978-0813521978. Książka dostępna we fragmentach tutaj

Filmy dostępne są na licencji: Standard YouTube License.