Kobiety i ich języki, czyli historie znanych programistek

Trudno nie zgodzić się ze stwierdzeniem, że informatyka to branża zdominowana przez mężczyzn. Jeśli jesteś przedstawicielką płci pięknej, to być może istniejący w społeczeństwie stereotyp programisty oraz liczne żarty o kodujących kobietach zniechęcają Cię do spróbowania swoich sił w tej dziedzinie, nawet jeśli stwierdzasz u siebie silne predyspozycje w tym kierunku.

W kwestii kobiet w IT w dużej mierze mogę zgodzić się z Maciejem Aniserowiczem, który poruszył ten temat w jednym ze swoich wpisów. Z faworyzowaniem kogokolwiek ze względu na płeć jest mi więc nie po drodze, za to jak najbardziej popieram pomysł na pokazywanie success stories – przykładów, uświadamiających że wśród DOBRYCH programistów możemy znaleźć cały przekrój ludzi – różniących się płcią, narodowością, wiarą czy światopoglądem. Idąc tym właśnie tropem chciałbym dziś przytoczyć historie kobiet, które wywarły wpływ na rozwój języków programowania. Tworzenie i implementacja języków to nie taka prosta sprawa, zatem mowa będzie o osobach o iście nieprzeciętnych umiejętnościach. Zastrzegam przy tym, że jest to mój subiektywy wybór i bynajmniej nie wyczerpuje listy kobiet rozwijających języki programowania.

Barbara Liskov

Barbara Liskov - kobieta, która stworzyla język CLU

Jej nazwisko jest prawdopodobnie najpowszechniej znane spośród wszystkich wymienionych tu osób. Stało się tak za sprawą ważnej w programowaniu obiektowym zasady podstawienia Liskov, będącej jedną z reguł SOLID. To jednak nie jedyne osiągnięcie w karierze Barbary Liskov, bowiem jest ona twórczynią aż dwóch języków programowania:

  • CLU – powstał w pierwszej połowie lat 70. i pod kilkoma względami był naprawdę innowacyjny. Wprowadził powiew świeżości m.in. w kwestii wyjątków, o czym możecie przeczytać w artykule Skąd się wzięły wyjątki?
  • Argus  – został stworzony prawie dekadę później i był swego rodzaju rozszerzeniem wspomnianego wyżej CLU, mającym na celu ułatwienie programowania rozproszonego [1].

Mary Kenneth Keller

Programistka i zakonnica -Mary Kenneth Keller

Kolejna nietuzinkowa osoba w tym gronie to Mary Kenneth Keller. Była nie tylko programistką, ale i należącą do zgromadzenia Sióstr Miłosierdzia Najświętszej Maryi Panny zakonnicą. W 1943 zdobyła licencjat z matematyki, a 10 lat później została magistrem fizyki oraz matematyki, zaś w roku 1965 jako pierwsza kobieta w historii otrzymała tytuł doktora informatyki. Tytuł obronionej przez nią dysertacji brzmiał Inductive Inference on Computer Generated Patterns.

W latach pięćdziesiątych brała aktywny udział w pracach nad językiem BASIC (jej obecność na Dartmouth College była wtedy ewenementem, gdyż w tym czasie była to szkoła tylko dla mężczyzn). Później, przez 20 lat, kierowała założonym przez siebie wydziałem informatyki w Clarke College w Iowa. Siostra Keller angażowała się również w działalność edukacyjną oraz popierała aktywizację kobiet na gruncie informatyki.

Grace Hopper

Programistka Grace Hopper przy komputerze UNIVAC I

Urodziła się w roku 1906 i, podobnie jak siostra Keller, również wstąpiła na służbę, z tą różnicą że nie do zakonu, a do amerykańskiej marynarki wojennej. Jej kariera wojskowa przebiegała na tyle sprawnie, że w latach 80. Hopper otrzymała stopień kontradmirała (rear admiral). Chyba za jeszcze bardziej udaną można uznać karierę informatyczną Grace Hopper. Liczba znaczących projektów, w których brała udział jest imponująca.

Wystarczy wspomnieć, że była ona częścią zespołu odpowiedzialnego za stworzenie komputera UNIVAC I (pierwszego na świecie elektronicznego komputera ogólnego przeznaczenia) oraz zaimplementowała konsolidator do programów pisanych na tę maszynę[2]. Brała też udział w rozwoju takich języków programowania jak FLOW-MATIC, CODASYL, a przede wszystkim COBOL (przy okazji  zerknijcie na wpis Fakty i mity o COBOL-u, by sprawdzić które z COBOL-owych mitów są prawdziwe).

Adele Goldberg

Adele Goldberg - programistka i twórczyni języka Smalltalk

Adele Goldberg, najmłodsza spośród opisywanych tu kobiet (urodzona w roku 1945), uczestniczyła natomiast w tworzeniu języka programowania Smalltalk. Język ten jest wyjątkowy pod wieloma względami (zapewne na PolyDev pojawi się jeszcze kilka artykułów na jego temat) – czysto obiektowy, reflektywny i zapewniający całkiem odmienne od większości języków programowania IDE. O ważkości wykonanej przez Goldberg i resztę zespołu prac świadczy też fakt, że wiele pomysłów ich autorstwa które wdrożyli w Smalltalku, stało się też bazą przy tworzeniu pierwszych środowisk graficznych, m.in. tego obecnego w komputerach Macintosh [4][5].

Jean Sammet

Jean Sammet - programistka

Grace Hopper  nie była jedyną kobietą, która przyczyniła się do stworzenia wspomnianego już wcześniej języka COBOL. Swój udział w tym procesie miala również Jean Sammet, otwarcie sprzeciwiająca się nazywaniu tej pierwszej „matką COBOL-a” i tym samym marginalizacji udziału w tym projekcie innych osób. W roku 1961 Sammet dołączyła do IBM, gdzie zajmowała się m.in. rozwijaniem języka FORMAC bazującego na FORTRAN-ie [7].

Jean Sammet znana jest też z napisania książki zatytułowanej Programming Languages: History and Fundamentals, która została wydana w roku 1969 i opisuje historię języków programowania, klasyfikując około 120 z nich oraz przedstawia podstawowe koncepcje związane z tą dziedziną. Z tego też powodu Sammet bywa określana historykiem języków programowania [8].

Źródła

  1. Wikipedia: Argus (programming language).
  2. Pioneering Women In Computer Science, D. Gürer, „Communications of the ACM” 38(1), 1995.
  3. Wikipedia: Grace Hopper.
  4. Tracing the origins of the Macintosh.
  5. On Xerox, Apple and Progress, B. Horn, 1996.
  6. Wikipedia: Adele Goldberg.
  7. Computer Pioneers by J. A. N. Lee: Jean E. Sammet.
  8. Jean Sammet — Designer of COBOL.

Źródła ilustacji

  • https://commons.wikimedia.org/wiki/File:Barbara_Liskov_MIT_computer_scientist_2010.jpg
  • http://www.computinghistory.org.uk/det/47364/Sister-Mary-Kenneth-Keller/
  • https://commons.wikimedia.org/wiki/File:Grace_Hopper_and_UNIVAC.jpg
  • https://www.computerhistory.org/revolution/input-output/14/348/2300
  • https://upload.wikimedia.org/wikipedia/en/b/b3/Jean_E._Sammet.jpg