Witold Marciszewski MINI-KRONIKA INFORMATYKI Od inspiracji Keplera do architektury von Neumanna Wilhelm Schickard (1592-1635), niemiecki matematyk i astronom, korzystając z rozwiązań szkockiego matematyka Johna Napiera (który udoskonalił instrument do liczenia pochodzący z dalekiego wschodu, w Europie stosowany od XIV w.) zbudował ok.1623 pierwszy mechaniczny kalkulator. Zachował się opis przesłany Keplerowi, który był przypuszczalnie inspiratorem projektu, podczas gdy sam przyrząd uległ zniszczeniu podczas wojny; z zachowanego szkicu odtworzono go w 1960. Blaise Pascal (1623-1662), francuski matematyk, fizyk, teolog, z intencją ulżenia w rachunkach ojcu, poborcy podatkowemu, zbudował ok.1641 mechanizm do dodawania i odejmowania za pomocą układu kół, każde o dziesięciu zębach, odpowiadających cyfrom od 0 do 9; przyrząd ten miał też pewne elementy mechanicznej pamięci. Gottfried Wilhelm Leibniz (1646-1716), niemiecki matematyk, filozof, inżynier, historyk, dyplomata etc., wprowadził do mechanizmu Pascala mechanizm umożliwiający mnożenie i dzielenie, stosowany w kalkulatorach mechanicznych aż do ich zmierzchu w połowie XX wieku. Leibniz tak cenił swój wynalazek, że zaprojektował na jego cześć medal z dedykacją "temu, co przewyższa człowieka". Zachował się oryginał przyrządu odnaleziony w 1879 na strychu w Getyndze, obecnie przechowywany w muzeum Leibniza w Hanowerze. Leibniz skonstruował cztery egzemplarze. Jeden przesłał do Piotra Wielkiego z prośbą o przekazanie cesarzowi Chin, by mu uświadomić poziom techniczny Europy jako potencjalnego partnera handlowego. -------------------- [mniejszym drukiem] Do porównania ze "średnią europejską" może posłużyć fakt, że w Polsce pierwszy mechaniczny kalkulator zbudował w 1810 żydowski mechanik z Zamościa Abraham Stern (pradziadek poety Antoniego Słonimskiego), który go demonstrował Aleksandrowi I (czym go rozzłościł, bo maszyna liczyła szybciej od cara), a także na forum Towarzystwa Naukowego Warszawskiego. -------------------- Joseph-Marie Jacquard (1752-1834) ukoronował w 1805 kilka wieków rozwoju urządzeń z kodem sterującym procesami (pozytywki itp.), konstruując we Fracji krosna, w których kod na taśmie perforowanej sterował haczykami wybierającymi nici odpowiedniego koloru do wzorów na tkaninach. Pomysł ten inspirował Babbage'a i Holleritha, a jego wpływ sięgał aż po von Neumanna, którego ojciec bankier kredytował na Węgrzech inwestycje związane z krosnami Jacquarda. Charles Babbage (1792-1871), matematyk angielski, budował od 1821 maszynę różnicową do obliczania określonych funkcji, np. logarytmicznych. Z powodów finansowych dzieła nie dokończył; jego projekt zrealizowali inni, a od 1991 w Muzeum Nauki w Londynie funkcjonuje współczesna rekonstrukcja. Od 1834 Babbage pracował nad maszyną analityczną, która miała być urządzeniem liczącym programowalnym i uniwersalnym; do wczytywania danych i zapisywania wyników miały służyć karty perforowane, według idei Jacquarda. Maszyna analityczna była antycypacją uniwersalnego komputera, do której praktycznie nawiązał Aiken, a inspirację teoretyczną czerpał z niej Turing; stąd tytuł "ojciec komputerów" niektórzy odnoszą przede wszystkim do Babbage'a. George Boole (1815-64), matematyk z uniwersytetu w Cork (Irlandia), choć nie skonstruował żadnej maszyny, ma unikalny wkład w konstrukcję bramek logicznych komputera, które są budowane według praw stworzonej przezeń algebry, zwanej algebrą Boole'a. Ta sama algebra zapoczątkowała w połowie w.XIX logikę matematyczną, dostarczającą teoretycznych podstaw informatyki (zagadnienia obliczalności itp.) i metod automatycznego dowodzenia twierdzeń. Boole jest najgłośniejszym z plejady znakomitych algebraików brytyjskich XIX wieku, którzy pierwsi kładli fundamenty pod logikę matematyczną (rola algebry dla logiki i informatyki jest wyczerpująco przedstawiona w książce "Mechanization of Reasoning in a Historical Perspective" W.Marciszewskiego i R.Murawskiego, wyd. Rodopi, Amsterdam 1995). Herman Hollerith (1860-1929), pracownik biura spisu ludności USA, w 1890 zbudował pierwszy tabulator -- oparte na idei Jacquarda urządzenie do mechanicznego sporządzania zestawień danych, ich klasyfikowania, przetwarzania i powielania. Pozwoliło ono przeprowadzić w USA (wtedy 60 milionów ludności) spis powszechny w dwa i pół roku. Hollerith założył firmę, z której w 1924 wyłonił się IBM. Howard M. Aiken (1900-1973), pracownik IBM, według pomysłu maszyny analitycznej Babbage'a zbudował w 1939-44 z przekaźników elektromagnetycznych, sterowany programem kodowanym na taśmie perforowanej, komputer Harvad Mark I. Ważył 50 ton; dwie liczby dziesięciocyfrowe mnożył przez 10 sekund. Pracował przez 15 lat dla potrzeb marynarki wojennej USA. Alan Turing (1912-54), matematyk z Cambridge, w celu ścisłego zdefiniowania procedury algorytmicznej wprowadził w 1936 pojęcie maszyny (maszyna Turinga). Pomysł polega na potraktowaniu formuł (równań) matematycznych jako programów kierujących obliczaniem, z którymi współdziałają urządzenia do wczytywania danych i zapisu wyników oraz pamięć. Maszyna zaopatrzona w program do naśladowania wszystkich możliwych tego rodzaju programów, nazwana przez Turinga uniwersalną, stanowi teoretyczny projekt komputera cyfrowego. Jest to uboczny, ale doniosły dla infomatyki wynik Turinga. Wynik główny należy do logiki i do podstaw informatyki. Jest nim dowód, że dla każdej maszyny istnieje liczba, której ona nie jest w stanie obliczyć, a więc że istnieją w matematyce problemy nierozstrzygalne. Wynik ten uzyskał Turing dzięki metodzie kodowania formuł-programów w postaci liczb naturalnych (której wzór dał G"odel w 1931). Dzięki temu, przy zastosowaniu tzw. dowodu przekątniowego Cantora, staje się widoczne, że zbiór wszystkich maszyn (zdolnych obliczać z dowolną dokładnością nieskończone rozwinięcia dziesiętne), jako równoliczny ze zbiorem liczb naturalnych (co widać dzięki zakodowaniu), jest mniej liczny niż zbiór wszystkich liczb mających takie rozwinięcia. A więc istnieją liczby nie dające się policzyć na żadnej maszynie. COLOSSUS pierwszy elektroniczny komputer, zbudowany w 1943, był dziełem zbiorowym, którego Turing był jednym z uczestników. Powstał w Bletchley Park, brytyjskim ośrodku deszyfrowania depesz niemieckich, w którym rozgrywała się jednocześnie akcja deszyfrowania Enigmy, mająca początki w pracach polskiego wywiadu wojskowego i polskich matematyków. Wyrafinowane maszyny zmagające się z Enigmą nie wystarczały jednak, żeby deszyfrować jeszcze bardziej wyrafinowany system kodowania stosowany przez najwyższe dowództwo niemieckie, zwany Tajnopis (Geheimschreiber). Dopiero zastąpienie elementów mechanicznych przez lampy elektroniczne przyniosło pełny sukces. Miarą niezawodności zapewnianej przez elektronikę jest to, że Colossus mógł wykonać 10 do 11ej potęgi operacji Boole'a nie popełniając ani jednego błędu. Jak pod tym względem wyglądała sprawa po stronie niemieckiej, świadczy historia K. Zusego. Konrad Zuse (ur. 1910), niemiecki inżynier i przedsiębiorca, zaczął prace nad komputerami w 1932 z własnych funduszy, których mu jednak nie starczało na zastosowanie lamp elektronowych. W 1941 ukończył swój pierwszy w pełni programowalny komputer zbudowany na przekaźnikach elektromagnetycznych. Udoskonalony model z 1945 został zakupiony do Z"urichu w 1950, gdzie pracował przez kilka lat jako jedyny komputer na kontynencie europejskim (obecnie do oglądania w muzeum techniki w Monachium). Do celów wojennych nie był na większą skalę wykorzystany; wedle relacji przypisywanej Speerowi, Hitler miał powiedzieć, że do wygrania wojny potrzebne mu jest bohaterstwo żołnierzy, a nie jakieś liczydła. W 1946 Amerykanie posiedli pierwszy elektroniczny komputer ENIAC, dzieło trzech konstruktorów z uniwersytetu w Pensylwanii. Pracował do 1955. Wykonywał 5000 operacji na sekundę. Miał 18000 lamp, ważył 30 ton. Programowany był w języku maszynowym za pomocą kabli i przełączników, trzeba więc było zmieniać układ kabli przy przechodzeniu do nowego problemu. John von Neumann (1912-57) włączył się w prace nad komputerem ENIAC w sierpniu 1944. Z uzyskanych doświadczeń zrodził się projekt następnego modelu, wolnego od wad programowania za pomocą kabli. Nazwano go skrótem EDVAC. W czerwcu 1945 von Neumann przedstawił projekt tej maszyny, który wywarł ogromny wpływ na rozwój komputerów przez pół wieku. Po raz pierwszy pojawiła się w nim idea zapamiętanego programu, umieszczonego w tej samej pamięci, co dane. Jednocześnie zaproponował wykonywanie instrukcji seryjnie, a nie równolegle. Jest to stosowana do dziś architektura von Neumanna.