Dziś obchodzimy Światowy Dzień Ady Lovelace. Co ma wspólnego ta XIX-wieczna angielska hrabina z programowaniem, informatyką i komputerami?
To na jej cześć Departament Obrony USA nazwał w 1980 roku nowy język programowania: „Ada”. To jej wizerunkiem na hologramach Microsoft potwierdza autentyczność swoich produktów. Jeśli ktoś jeszcze o niej nie słyszał, może się w pierwszej chwili zdziwić, kiedy spostrzeże, że z hologramu spogląda… wiktoriańska dama w sukni z pierwszej połowy XIX-wieku i fryzurze à la księżniczka Leia.
Co ma wspólnego ta angielska hrabina z programowaniem, informatyką i komputerami?
Otóż Augusta Ada Byron, po mężu King-Noel, hrabina Lovelace, uważana jest za autorkę pierwszego algorytmu napisanego z myślą o maszynie liczącej, czyli można rzec – za pierwszą w historii programistkę.
Dzieciństwo, dodaj mi skrzydła…
Jej historia zaczyna się trochę jak w bajce, a trochę jak w brukowcu opisującym życie brytyjskich wyższych sfer. Urodziła się 10 grudnia 1815 roku w Londynie w atmosferze nieco skandalicznej, ponieważ jej ojcem był kontrowersyjny obyczajowo poeta – lord Byron. Matką była Annabella Milbanke; podobno trudno było o mniej dobraną parę: romantyczny, porywczy Byron i chłodna, opanowana Annabella, która otrzymała wykształcenie matematyczne równe temu, jakie mieli studenci Uniwersytetu w Cambridge. Małżeństwo przetrwało rok; Byron podobno głównie pił, romansował i zaciągał kolejne długi. Annabella uważała, że to poezja winna jest temu „szaleństwu”. Odeszła od niego niecały miesiąc po urodzeniu Ady. Byron podpisał umowę o separacji, zostawił jej córkę (co wtedy wcale nie było oczywiste – zwykle dzieci po rozwodzie zostawały w rodzinie ojca), wyjechał z Anglii i nigdy nie wrócił. Ada była przez całe życie zafascynowana ojcem, ale nigdy osobiście go nie poznała. Miała dziewięć lat, kiedy zginął.
Annabella została, powiedzielibyśmy dzisiaj, samotną matką. Obawiała się, że Ada odziedziczyła po ojcu talent poetycki wraz z jego „obłędem”. Ada faktycznie okazała się bardzo zdolnym dzieckiem. Interesowały ją maszyny, konstrukcje, zasady ruchu – na przykład latania. Zachował się między innymi zbiór jej szkiców „Flyology”, w których analizowała zależność pomiędzy rozpiętością skrzydeł ptaków a ciężarem ich ciała i opisywała swoje eksperymenty.
12-letnia Ada pisała na przykład do matki:
„Droga Mamusiu. Dziś moje próby latania wypadły szczególnie dobrze i myślę, że będziesz musiała przyznać, że poczyniłam wielkie postępy. (…) Skrzydła nie mają jeszcze właściwych proporcji, lecz myślę, że wystarczą, by zademonstrować ci wszystkie moje pomysły. Jak tylko udoskonalę samo latanie, mam pomysł na maszynę parową w formie konia, tak skonstruowaną, by poruszała parę ogromnych skrzydeł przytwierdzonych do jego boków. W ten sposób będzie mógł się on unieść w górę, z jeźdźcem na grzbiecie”.
Bajroniczne geny
Jednak szczególny talent przejawiała do poezji i matematyki. Ze zrozumiałych względów matka postawiła na to drugie i zapewniła córce znakomitą jak na tamte czasy edukację w dziedzinie nauk ścisłych. Ufała, że logiczne myślenie, w przeciwieństwie do poetyckich wzburzeń i naporów – będzie stanowić antidotum na bajroniczne geny. Jednak emocjonalnie Ada była nieodrodną córką ojca – śmiała, ekstrawagancka i pewna siebie, niewiele sobie robiła ze sztywnych konwenansów epoki. Starała się, w miarę możliwości, żyć tak, jak chciała.
Kiedy miała 18 lat, na jednym z przyjęć poznała Charlesa Babbage’a ¬– matematyka i konstruktora maszyn liczących, dzisiaj uznawanego za „ojca informatyki”. Z jego pomysłów korzystał w XX wieku John von Neumann przy pracy nad swoją architekturą komputera.
Wtedy jednak, w 1833 roku, Babbage miał problemy z pieniędzmi, bo rząd nie chciał już finansować przedłużających się prac nad maszyną różnicową, która wciąż nie była doskonała; działały tylko niektóre jej funkcje. Urządzał więc przyjęcia, na których prezentował i reklamował wśród bogatych arystokratów swój wynalazek. Ada zafascynowała się tym projektem i próbowała mu pomóc w zbieraniu funduszy.
W tym czasie poznała też Mary Somerville, najsłynniejszą wówczas w Anglii matematyczkę, samouka. Mimo że w Cambridge korzystano z podręcznika jej autorstwa, a w Towarzystwie Królewskim w Londynie w dowód jej zasług stało jej marmurowe popiersie, to ona sama jako kobieta nie miała tam prawa wstępu; nie mogła również korzystać ze zbiorów biblioteki królewskiej. Obie z Adą o pomoc musiały prosić syna Mary, żeby ten w sekrecie pożyczał im interesujące je pozycje.
Prakomputer jak krosno
Mimo małżeństwa z hrabią Lovelace i urodzeniu rok po roku trójki dzieci, Ada nie porzuciła nauki. Jej nauczycielem został Augustus De Morgan, jeden z najlepszych logików XIX wieku. W 1842 roku postanowiła zająć się tłumaczeniem z francuskiego na angielski artykułu napisanego na podstawie wykładu, jaki Babbage wygłosił w 1840 roku w Turynie, przedstawiając działanie swojego nowego wynalazku – maszyny analitycznej. O ile maszynę różnicową porównuje się do kalkulatora, o tyle tę uznaje się za pierwowzór komputera.
Jak tłumaczyła w przypisach Ada, podstawowe operacje matematyczne znane z maszyny różnicowej tu są punktem wyjścia. „Maszyna analityczna tka wzory algebraiczne tak, jak krosno Jacquarda tka wzory kwiatów i liści” – pisała.
Babbage zapisał – tak jak Jacquard – instrukcje na kartach perforowanych. Karty Jacquarda kierowały krosnami do tkania; w maszynie analitycznej na kartach zapisywano zarówno instrukcje, jak i dane, które miała przekształcać. Dane pobierane były z magazynu, czyli czegoś w rodzaju dzisiejszej pamięci, a liczby przetwarzane były przez coś, co Babbage nazywał „młynem”, a co można uznać za odpowiednik dzisiejszego procesora w komputerze.
Historyczne przypisy
Artykuł pod tytułem „A Sketch of the Analytical Engine” ukazał się w 1843 roku w czasopiśmie naukowym „Scientific Memoirs”. Jednak Ada do tłumaczenia dołączyła własne, trzykrotnie dłuższe od oryginału, przypisy.
Pisała między innymi: „Maszyna analityczna mogłaby operować na innych obiektach, nie tylko na liczbach, pod warunkiem że wzajemne relacje między tymi obiektami można wyrazić w języku abstrakcyjnej nauki o operacjach”. Zrozumiała, że maszyna może przetwarzać liczby kodujące różne symbole, w tym litery.
To tu także znajduje się diagram, na którym widać algorytm wyliczania kolejnych liczb Bernoulliego (nieskończony ciąg liczb wymiernych oznaczanych jako Bk, gdzie k jest numerem porządkowym liczby, k=0,1,2…). Uważa się, że jest to pierwszy algorytm przeznaczony dla maszyny analitycznej, a więc – pierwszy w historii program komputerowy.
Ojciec sztucznej inteligencji Alan Turing pisał, że to właśnie jej notatki o maszynie analitycznej zainspirowały go do pracy nad komputerami
To jej największe dokonanie; miała wtedy 27 lat.
Program nigdy nie został przetestowany, bo maszyna ostatecznie nigdy nie powstała.
Ada Lovelace zmarła dziewięć lat później, w 1852 roku, w wieku 36 lat, na raka szyjki macicy. Na jej prośbę pochowano ją obok jej ojca.
Ada na sztandarach
Przez kolejne 100 lat nikt się nią specjalnie nie interesował. Biografowie Charlesa Babbage”a wspominali o niej jako o jego asystentce; biografowie Byrona nie pisali, że jego córka była matematyczką. Przypomniano sobie o niej dopiero w erze komputerów, odzyskiwanych praw kobiet i wydobywanych z zapomnienia historii. Dla wielu stała się ikoną.
Ojciec sztucznej inteligencji Alan Turing pisał, że to właśnie jej notatki o maszynie analitycznej zainspirowały go do pracy nad komputerami.
Od 2009 roku z inicjatywy brytyjskiej programistki i aktywistki Suw Charman-Anderson w każdy drugi wtorek października obchodzony jest Międzynarodowy Dzień Ady Lovelace dla uczczenia osiągnięć kobiet w nauce, technologii, inżynierii i matematyce (STEM – Science, Technology, Engineering, Mathematics). Ada Lovelace inspiruje też artystów.
Megalomanka czy wizjonerka?
Część historyków uważa, że ta historia to mit, że słynny diagram był w istocie pomysłem samego Babbage’a. Allan G. Bromley, historyk informatyki, twierdzi, że już kilka lat wcześniej Babbage „napisał ze dwa tuziny programów dla maszyny analitycznej”, tyle tylko, że ich nie opublikował, a Ada Lovelace była w najlepszym razie zdolną propagatorką sprawy, w najgorszym – egzaltowaną megalomanką.
Trudno to ostatecznie zweryfikować dwa stulecia później. Tak czy owak – była niezwykłą kobietą w czasach dla kobiet, mówiąc oględnie, niełatwych, nawet jeśli pochodziły z bogatych rodzin. Jej własnym majątkiem, który odziedziczyła po matce, dysponował jej mąż, dając jej tylko „pensję” do dyspozycji. Kiedy prosiła o „podwyżkę” – odmawiał.
Sama o sobie mówiła, że uprawia „naukę poetycką”. Uważała, że poezja i matematyka, metafizyka i nauka to dwie uzupełniające się nawzajem drogi poznania, a intuicja i wyobraźnia są niezbędne także w matematyce.
Zdarzają się czasem ludzie, którzy jakby przeskoczyli swoją epokę. Wydaje się, że ona była właśnie taką osobą. Niektóre jej twierdzenia brzmią dla nas całkiem współcześnie, ale w jej czasach musiały być dziwne i wizjonerskie.
„Nie widzę powodu, dla którego procesy mózgowe miałyby być mniej uchwytne dla matematyków niż prawa, którym podlegają gwiazdy i planety, jeśliby tylko spojrzeli na nie z właściwego punktu widzenia. Chciałabym stworzyć dla przyszłych pokoleń Arytmetykę Układu Nerwowego” – pisała na przykład.
Albo: „Należy przestrzec przed wyolbrzymianiem możliwości maszyny analitycznej. Każdy nowy wynalazek często rodzi tendencję, by przeceniać to, co wydaje nam się w nim interesujące i niezwykłe. (…) Maszyna analityczna nie pretenduje do tworzenia czegokolwiek. Może robić tylko to, co umiemy jej rozkazać. Jej zadaniem jest uczynienie bardziej dostępnym tego, co i tak już znamy, jej wpływ dotyczy więc przede wszystkim naszych zdolności wykonawczych”.
Czy ta prawda obowiązuje w erze sztucznej inteligencji?