Logowanie do CD-ACTION

Zamknij [X]
Załóż sobieNie masz konta?

Co daje konto w serwisie cdaction.pl?

Po założeniu konta otrzymujesz możliwość oceniania materiałów, uczestnictwa w życiu forum oraz komentowania artykułów i aktualności przy użyciu indywidualnego identyfikatora.

HIT[Retrohistorie Smugglera] Jej ekscelencja, programistka. Jak powstał pierwszy program komputerowy

Smuggler sobota, 26 października 2019, 17:40 O grach inaczej

Co było pierwsze – jajko czy kura? Tego nie wiem. Ale gdy zapytacie mnie, co było pierwsze: komputer czy program komputerowy, odpowiedź jest oczywista. Program. Choć brzmi to paradoksalnie, pierwszy program komputerowy napisano jakieś 100 lat przed tym, jak skonstruowano maszynę, którą możemy nazwać komputerem.

Napisała go Ada Lovelace (a raczej Augusta Ada King, hrabina Lovelace – patrz: ramka na końcu). Jej ojcem był słynny poeta romantyczny, lord Byron, co ma pewne znaczenie w tej opowieści.

Matematyka jest dobra na wszystko!

Byron wprawdzie „wielkim poetą był”, ale poza tym był też wielkim kobieciarzem, acz i panami nie pogardzał w pewnych okolicznościach przyrody, ekscentrykiem, skandalistą i hulaką. (Na usta ciśnie się też kilka mocniejszych i zupełnie nieromantycznych określeń). Gdy popadł w długi, a w owych czasach za to szło się do więzienia, zrobił to, co każdy romantyk w jego czasach – poszukał sobie żony mającej odpowiednio duże pieniądze, tzn. posag. Trzy lata później, w roku 1815, przyszło na świat ich jedyne dziecko – Augusta Ada. Imię Augusta dziewczynka otrzymała po przyrodniej siostrze Byrona. Wszelako, gdy niedługo po narodzinach córki okazało się, że poeta utrzymuje z ową siostrą kontakty znacznie bliższe niż powszechnie akceptowane relacje pomiędzy rodzeństwem(*), żona porzuciła go, zabierając z sobą Adę. (Bo od tej pory już nigdy nie zwróciła się do niej imieniem Augusta).

Matka Ady po owej małżeńskiej traumie uznała, że z dziecka należy od maleńkości wykorzeniać „poetyckie talenta”, które mogła odziedziczyć po ojcu, uznając je za przyczynę wszelkiego zła i wiodące do obłędu. Wymyśliła, że najlepszą metodą będzie aplikowanie córce, od wczesnego dzieciństwa, dużych dawek matematyki, która jej zdaniem była czymś zupełnie przeciwnym poezji. Wszelkie inne zainteresowania miały być tłumione w zarodku – więc gdy pięcioletnia Ada zafascynowała się geografią, natychmiastową reakcją matki było zastąpienie jej dodatkowymi lekcjami „matmy”.

(*) No, może poza dworem faraonów Egiptu parę tysięcy lat wcześniej i ewentualnie niektórymi zapyziałymi okolicami w Arkansas współcześnie. 

...ale geny swoje robią

Powiedzmy, że odniosła połowiczny sukces. Ada w wieku nastoletnim opanowała większość podstawowych zagadnień rachunku różniczkowego i całkowego.


Jedna z zachowanych notatek nastoletniej Ady – rozwiązuje w niej problem matematyczny, na którym połamałby sobie zęby niejeden dzisiejszy student politechniki.

Ale też odziedziczyła po wybitnie przystojnym tatusiu urodę, temperament... i parę „ciekawych” cech charakteru. Pomińmy tu nawet swobodę obyczajową (wywołała skandal, romansując w wieku 17 lat ze swym nauczycielem). Ada potrafiła patrzeć na matematykę w sposób... poetycki. Była odwrotnością Neo z Matriksa – widziała piękno tam, gdzie inni dostrzegali tylko cyfry, wykresy i szeregi niezrozumiałych symboli. Matematyka była dla niej „najskuteczniejszym z narzędzi pozwalających mizernemu ludzkiemu umysłowi pojąć sens dzieła Stwórcy”, a także „jedynym językiem zdolnym wyrazić najważniejsze prawa natury”.

Po ojcu miała też mocno przerośnięte ego. (Byron, jak każdy utalentowany artysta, miał nader wysokie mniemanie o sobie). „Jestem niczym wielka soczewka skupiająca promienie światła ze wszystkich zakątków wszechświata” – pisała w liście do matki. „Uważam, że posiadam niepowtarzalny zestaw talentów, idealnie dopasowanych, by zostać (...) odkrywcą ukrytych praw natury” – podsumowała, dodając retoryczne pytanie „czy to nie jest w pewnym stopniu zasługą wrodzonego geniuszu?”. 

Co ma krosno do wiatra... komputera?

W czasie jednej z podróży po Anglii Ada miała okazję zobaczyć ówczesny cud technologii – mechaniczne krosna, które potrafiły samodzielnie tkać materiał z zaprogramowanym (za pomocą specjalnych perforowanych kart) wzorem. Zachwyciła się nimi tak bardzo, że aż sporządziła ich szkic. Podobne, ale znacznie silniejsze emocje wzbudziła w niej maszyna różnicowa Charlesa Babbage’a (oraz jej twórca).

Tu kilka słów wyjaśnienia: Babbage stworzył prototyp urządzenia, będącego rozwinięciem już istniejących mechanicznych kalkulatorów. Urządzenie teoretycznie potrafiło wykonywać złożone obliczenia, ale w dość wąskim zakresie, tzn. pozwalało wyliczać wartości funkcji wielomianowych i przybliżone rozwiązania równań różniczkowych. I nic poza tym. A „teoretycznie” to dlatego, że nigdy nie osiągnęło pełnej gotowości operacyjnej, tzn. powstały tylko jego niektóre elementy(**). Maszyna owa (a raczej jej część, mechaniczny kalkulator) była atrakcją przyjęć londyńskiej socjety. W ich trakcie Babbage zabawiał towarzystwo, wykonując nią rozmaite złożone działania znacznie szybciej niż najbieglejsi z zaproszonych gości byli w stanie wykonać w pamięci lub na papierze.

(**) Ówczesna technologia była zbyt prymitywna, by podołać temu zadaniu, tzn. sporządzić odpowiednio dopasowane bardzo skomplikowane części. Tym niemniej pod koniec XX wieku na podstawie zachowanych oryginalnych planów stworzono pełną wersję tej maszyny i przekonano się, że nie tylko działa, ale i robi dokładnie to, co zaplanował Babbage, i to z dokładnością do 31 cyfr po przecinku.

 


Jeden ze szkiców pokazujących maszynę analityczną Babbage’a.


A tu jej działająca rekonstrukcja.

Babbage stał się dla osiemnastoletniej wówczas Ady czymś w rodzaju guru czy idola. On, choć nazywał swą wielbicielkę „Zaklinaczką Liczb” i odnosił się do niej bardzo ciepło, myślami był zupełnie gdzie indziej. Zafascynowała go idea rozwinięcia maszyny różnicowej w maszynę analityczną, czyli maszynę, która byłaby w stanie wykonywać dowolne sekwencje działań i obliczeń matematycznych w zależności od tego, jak zostanie zaprogramowana. Problem w tym, że mało kto pojmował, jakie to może mieć dalekosiężne konsekwencje. (Ada była tym pomysłem zauroczona i chyba nawet bardziej niż sam Babbage rozumiała jego doniosłość). A już zupełnie nikt nie zamierzał tego projektu sfinansować. (Rząd, zainwestowawszy przez lata równowartość dwóch uzbrojonych fregat (!) w wiecznie będącą w fazie konstrukcji maszynę różnicową, nie palił się do wydawania kasy na kolejne wynalazki Babbage’a).

Konstruktor przez kilka lat bezskutecznie stukał więc do rozmaitych drzwi w poszukiwaniu prywatnych sponsorów. W 1841 wystąpił nawet na Kongresie Naukowców Włoskich w Turynie, gdzie przedstawił swoje przemyślenia na jej temat. Jednym ze słuchaczy wykładu był późniejszy premier Włoch, inżynier Luigi Federico Menabrea, który opublikował artykuł z opisem maszyny analitycznej.

Uwagi od tłumacza

Ada postanowiła udostępnić go w Scientific Memoirs, czyli książkowym kompendium, wydawanym w Anglii w latach 1837-1852 i zawierającym co ciekawsze referaty naukowców spoza Zjednoczonego Królestwa. W tym celu przetłumaczyła go na angielski i posłała Babbage’owi do przejrzenia i poprawienia ewentualnych nieścisłości. Ten był jej inicjatywą mile zdziwiony. Zaproponował, by nie ograniczyła się li tylko do roli tłumacza, ale wzbogaciła ów raport o własne przemyślenia i wnioski.

Adzie nie trzeba było tego dwa razy powtarzać. Jej „Uwagi od tłumacza” (ukrytego skromnie za niezdradzającymi płci inicjałami A. A. L.) były w efekcie dwa razy dłuższe niż tekst, który komentowały. I choć w komentarzach Ada czasem uderzała w nadmiernie jak na dzisiejsze ucho natchnione i poetyckie tony („maszyna analityczna może tkać algebraiczne wzory w ten sam sposób [tzn. dzięki programującym ją kartom – dop. Smg], co krosno automatyczne kwiaty i liście”), to jej uwagi są naprawdę merytoryczne.

Lady Lovelace uwypukliła czytelnikom zasadnicze różnice pomiędzy specjalizowaną w konkretnych obliczeniach maszyną różnicową a w pełni uniwersalną maszyną analityczną. Kładła nacisk na to, że maszyna ta mogłaby przetwarzać praktycznie dowolne dane (nie tylko cyfry – ale też słowa, dźwięki/nuty, obrazy) w każdy ustalony przez człowieka sposób. Tym samym po raz pierwszy przedstawiła ludziom skrystalizowaną ideę tego, co dzisiaj nazywamy komputerem. A w jednym z załączników, pokazując, jak maszyna analityczna mogłaby np. generować tzw. liczby Bernouliego (patrz: ramka na końcu), zamieściła obszerny diagram pokazujący sekwencję ponumerowanych i opatrzonych komentarzami instrukcji, dzięki którym maszyna wykona zlecone zadanie. Można w nim wyróżnić takie elementy jak podprogramy wykonujące powtarzające się ciągi działań, do których można powracać z poziomu programu głównego, oraz zagnieżdżone w nich pętle rekurencyjne. Nie będę tu drążył szczegółów, które i tak zrozumieją tylko programiści – więc powiem, bazując na opiniach fachowców, a wy przyjmijcie to na wiarę, że był to pierwszy na świecie kompletny program komputerowy(***), zajmujący w sumie 75 kart perforowanych, czyli z grubsza jakieś 5-7 kB pamięci RAM.

(***) A raczej „pierwszy na świecie opublikowany program komputerowy”, bo formalnie rzecz biorąc Babbage stworzył wcześniej kilkanaście programików na swą maszynę różnicową. Ale że żadnego z nich nigdy nie opublikował i nie były one nawet w części tak złożone i pięknie rozpisane jak algorytm Ady, a maszyna różnicowa to jednak jeszcze nie komputer, to się nie liczą.

 


Tak wygląda oficjalnie pierwszy na świecie działający komputerowy algorytm (tzn. jego fragment).

Ada(gio) con dolore

We wrześniu 1843 ukazał się tom Scientific Memoirs, zawierający m.in. przekład referatu z jej uwagami. Była to chwila wielkiego triumfu Ady. Niestety, tylko chwila. Pomimo że tekst wzbudził spory rezonans w naukowym światku UK, nie przełożyło się to na żadne wymierne działania. Ani rząd, ani żaden prywatny inwestor nie zdecydował się wyłożyć funduszy na budowę wymarzonej przez oboje maszyny analitycznej. W efekcie pozostała na zawsze tylko zapisaną na papierze ideą, która wyprzedziła swe czasy. Zdruzgotana tym Ada już nigdy niczego nie opublikowała. Ale nie to było najgorsze.


Tytułowa strona Scientific Memoirs z 1843

Rozmaite dolegliwości zdrowotne i kłopoty rodzinne (w międzyczasie porzucił ją mąż) sprawiły, że uzależniła się od narkotyków. (A dokładniej od rozmaitych pochodnych morfiny, które to można było wówczas bez recepty kupować w aptekach, gdzie były traktowane jak dzisiaj suplementy diety). Efektem mania prześladowcza, gwałtowne i silne wahania nastrojów, urojenia itd. Do tego miała słabość do gier hazardowych i nieodpowiednich mężczyzn, co zrujnowało jej finanse i reputację. Na domiar złego zachorowała na raka. Zmarła w 1852, mając zaledwie 36 lat. Dokładnie w tym samym wieku, co jej ojciec (z którym nigdy się nie spotkała). Zgodnie ze swym ostatnim życzeniem została pochowana u jego boku.

Non omnis moriar!

Prawie 130 lat później stworzono, na zlecenie Departamentu Obrony USA, niezadowolonego z wszystkich aktualnie istniejących języków programowania (tzn. ich sprawności, czytelności, itd.) nowy. Był on (…wdech) strukturalny, kompilowany, imperatywny, statycznie typowany i obiektowy (wydech!). Jego składnia została zaprojektowana w taki sposób, aby zminimalizować szanse popełnienia trudnych do wykrycia błędów. Uzyskano to poprzez przemyślany i konsekwentny dobór poszczególnych elementów składni, a także ich jednoznaczność. Rozbudowany i aktualizowany, jest w użyciu do dzisiaj, chętnie wykorzystywany tam, gdzie każdy przeoczony „bug” może mieć ogromne znaczenie (np. system sterowania fly-by-wire w Boeingu 777 zaprogramowano właśnie w tym języku). Napisano w nim sporą część programów dla bankowości elektronicznej, wojska i przemysłu kosmicznego. Na cześć pierwszej programistki na świecie nazwano go Ada.

Fragment programu napisanego za pomocą Ady.

 

Ada – Król, baronessa i hrabina

Augusta Ada Byron poślubiła, mając lat 20 – typowe małżeństwo z rozsądku – niejakiego Williama Kinga, z którym miała trójkę dzieci. Z czasem King, mający zresztą dziedziczny tytuł barona, stał się „earlem [z] Lovelace” (tytuł z grubsza odpowiada europejskiemu hrabiemu), stąd jego żona stała się hrabiną (countesse of) Lovelace i w efekcie została zapamiętana jako Ada Lovelace. How lovely.

 

Liczby Bernoulliego

To nieskończony ciąg liczb wymiernych (czyli takich, które można zapisać w postaci ułamka zwykłego) oznaczanych jako Bk, gdzie k jest numerem porządkowym liczby (0, 1, 2... itd.). Zostały nazwane na cześć siedemnastowiecznego szwajcarskiego matematyka, Jakoba Bernoulliego, który zajmował się sumami potęg kolejnych liczb całkowitych.

 

Dodaj komentarz ν
Podziel się:
Więcej na temat: Retro,
Wasze komentarze, opinie, uwagi
Komentarze mogą dodawać tylko zalogowani użytkownicy. Zaloguj się lub Załóż konto
środa, 30 października 2019, 9:39   Smuggler
Nie ma sprawy, jest nieco ciekawych historii o pionierach branzy.
środa, 30 października 2019, 8:58   helmud7543
Niesamowita historia. Szkoda, że tego nie uczyli na informatyce. Proszę o więcej takich smaczków.
poniedziałek, 28 października 2019, 18:21   Smuggler
No ale tak czasem jest, ze sie ma pomysly, ktore swietnie sie sprawdzaja dopiero 200 lat pozniej, a co do inteligencji to przeciez nie wiemy czy byli bardziej inteligentni, a co najwyzej bardziej kreatywni, a to nie to samo. Poza tym to nie bylo akurat o ludziach, a o IDEI "maszyny analitycznej" czyli komputera.
poniedziałek, 28 października 2019, 15:56   lukaszsa
Bardzo dobry tekst. Jedna rzecz tylko kuje w oczy: "wyprzedzala swoje czasy" jak ja nienawidze tego kretynakiego okreslenia. Mozna powiedziec ze byli (Ada lub Babbage) bardziej inteligentni niz inni ludzie w tych czasach lub byli geniuszami lub wybitni. Przy okazji anegdota: w jednej z mniejszych firm robiacych oprogramowanie w Warszawie wisi obraz przedstawiahacy Ade ale osoba rekrutujaca nie miala o tym pojecia a to bylo by fajne pytanie dodatkowe na rekrutacji (Uswiadomilem ta osobe co to za obraz):)
poniedziałek, 28 października 2019, 7:00   bartgrab
Smuggler niezmiennie w formie, ostatni bastion to (retro) publicystyka (no i Action Redaction;), dzięki której CDA jeszcze robi roznice w zalewie newsów, zapowiedzi, recenzji których wszędzie pełno.
niedziela, 27 października 2019, 18:41   Smuggler
A pisze sie, pisze.
niedziela, 27 października 2019, 17:57   CYBERTRIBAL
@Smuggler
My też się cieszymy i prosimy o więcej ;)
niedziela, 27 października 2019, 14:00   Smuggler
Ciesze sie, ze sie podobalo :)
niedziela, 27 października 2019, 10:02   Syek2
Aż zacząłem szukać przycisku z łapką w górę, bardzo fajna ciekawostka ten tekst.
niedziela, 27 października 2019, 8:58   Jacekxyz
Bardzo ciekawy tekst. Dzięki :)

O autorze

Smuggler

Podobne newsy

CD-Action 12/2016 – rozwiązanie czwartkowego przecieku

News
czwartek, 13 października 2016

cd-action-122016--rozwiazanie-czwartkowego-przecieku Z ostatniego przecieku dowiedzieliście się, że najbliższe wydanie CD-Action będzie wyjątkowe.

Komentarzy:
69

Artykuły

W końcu docieramy do roku 2000. Nie sprawiło to, że nasza wędrówka jest mniej szalona.

Komentarzy:
15

Recenzję mógłbym równie dobrze napisać bez odpalania gry. Zapewne już domyślacie się, co to oznacza...

Komentarzy:
14

Zanim rzucimy
naszą wewnętrzną bestię 
w wir nadprzestrzeni.

Komentarzy:
5

Najczęściej czytane

Najczęściej komentowane

Galerie zdjęć

Gry A-Z

Wyszukaj: Szukaj
0 - 9 A B C D E F G H I
J K L M N O P Q R S T
U V W X Y Z