Koncepcja parowej maszyny cyfrowej większości współczesnych jawi się zapewne malowniczą, chociaż zupełnie niedorzeczną fantazją rodem z literatury steam-punkowej, gdzie tego typu wizje alternatywnych dróg rozwoju cywilizacji wykorzystywane są bardzo chętnie.
Okazuje się jednak, że epizod taki faktycznie miał miejsce w naszej własnej historii i chociaż ostatecznie zakończył się on smutną porażką, to kompletny projekt w pełni funkcjonalnego komputera powstał już w okolicach roku 1840. Maszyna ta nie została co prawna nigdy ukończona, była jednak jak najbardziej fizycznie wykonalna przy ówczesnym stanie techniki, zaś w jej faktycznemu urzeczywistnieniu przeszkodziły nie tyle trudności techniczne, co zwykła ekonomia.
Eniac nie był pierwszy
Historię piszą zwycięzcy. Ogromny sukces Stanów Zjednoczonych po II Wojnie Światowej przejawiał się nie tylko zwycięstwem nad państwami Osi, lecz również globalną dominacją amerykańskiej kultury. W efekcie sukcesy USA w dziedzinie informatyki zostały szeroko rozsławione, przypisując Eniacowi miano pierwszego komputera w historii ludzkości i na długie lata usuwając w cień wcześniejsze elektroniczne oraz elektromechaniczne konstrukcje z lat 30. i 40. XX w.
Nawet im ciągle jednak daleko jest do miana prekursorów technologii informatycznej, żeby odnaleźć takie maszyny, musimy bowiem cofnąć się znacznie dalej, do czasów gdy kolej żelazna i telegraf stanowiły jeszcze nowatorskie, chociaż burzliwie rozwijane technologie, elektryfikacja pozostawała jedynie pieśnią nieodgadnionej przyszłości.
Komputer na parę
Mechaniczne maszyny liczące budowano na długo przed powstaniem silników parowych, już od początków XVII w., zaś w czasach Babbage´a stanowiły one dojrzałą i komercyjnie wykorzystywaną technologię. Ich problem polegał jednak na tym, że chociaż automatyzowały sam proces obliczeń, to pozostawiały w gestii operatora wszelkie procedury wejścia-wyjścia, które z uwagi na skomplikowaną technikę wprowadzania parametrów czyniło je wąskim gardłem oraz – oczywiście – sprawiało, iż było one podatne na typowo ludzką omylność. W efekcie publikowane w tamtym czasie tablice arytmetyczne oraz astronomiczne zawierały w każdym wydaniu dosłownie tysiące błędów. Niedogodność ta była główną przyczyną, która skłoniła Charlesa Babbage’a do poszukiwania bardziej niezawodnej metody tworzenia tabelarycznych kalkulacji.
Jego pierwszym pomysłem była maszyna różnicowa – mechanizm automatyzujący zarówno sam proces liczenia, jak również produkcję matryc drukarskich zawierających gotowe wyniki, co praktycznie eliminowało wszystkie etapy, na których wcześniej pojawiały się przekłamania. Tworzenie opisanego urządzenia rozpoczął on w roku 1819, przedstawiając w latach 1822 i 1832 dwa działające chociaż niekompletne prototypy.
W trakcie prac nad tym systemem wpadł on jednak na pomysł tyleż genialny, co bardzo niefortunny z pragmatycznego punktu widzenia. Doszedł bowiem do wniosku, że skoro można poważyć się na zbudowanie automatu realizującego określone rodzaje obliczeń, to jeszcze lepszym posunięciem będzie zbudowanie maszyny uniwersalnej, zdolnej zrealizować dowolny algorytm, a zatem zarówno zadania dla których realizacji zaprojektował pierwotnie maszynę różnicową, jak też i każde inne, dające się zapisać w postaci programu.
W roku 1833 porzucił swój dotychczasowy, nieukończony projekt. W ciągu następnych 20 lat maszyny różnicowe wzorowane na jego pomyśle zostały faktycznie zbudowane i uruchomione rękami innych twórców, on zaś poświęcił się swojej kolejnej idei.
Architektura harwardzka i kompletność Turinga
Maszyna analityczna jego pomysłu ważyłaby 15-30 ton, mierzyła 30 metrów długości, 10 metrów szerokości i składała się z kilkudziesięciu tysięcy ruchomych części, co czyniłoby ją najbardziej złożonym urządzeniem swoich czasów. Cały ten mechaniczno-analityczny moloch napędzać miał silnik parowy o mocy 1-3 koni mechanicznych. Przewidywana szybkość obliczeń matematycznych miała być średnio kilkukrotnie wyższa niż w dostępnych wówczas mechanicznych arytmometrach. Nie w tym jednak tkwiła jej zasadnicza przewaga, lecz w samej, stojącej u jej podstaw koncepcji spełniającej wymogi założeń sformułowanych teoretycznie dopiero sto lat później.
Babbage jako nośnik programu zastosował karty perforowane wykorzystywane wcześnie w krosnach Jacquarda do sterowania maszyną tkacką. Procesor wykonujący zapisane na nich instrukcje określał mianem młyna, osobna pamięć podręczna przechowywała 1000 liczb 50-cyfrowych, wyniki obliczeń wyprowadzano zaś na drukarkę, ploter bądź inne karty perforowane. Tego typu konstrukcja dziesiątki lat później określona została mianem architektury harwardzkiej.
Równie istotny był fakt, iż urządzenie to potrafiło wykonywać skoki, instrukcje warunkowe oraz pętle, co czyniło ją kompletną w sensie Turinga i pozwalało zrealizować każdy skończony algorytm. Kryterium to decyduje współcześnie, o uznaniu danej maszyny za pełnoprawny, uniwersalny komputer.
Przegrana rewolucja
Pomimo genialnego i wyprzedzającego swój czas projektu maszyna analityczna nie została nigdy ukończona. Główną przyczyną był niedostatek środków finansowych autora i brak zainteresowania brytyjskiego rządu subsydiowaniem tak niezwykłego projektu, a po części również brak umiejętności dyplomatycznych i trudny charakter Babbage´a, które utrudniały mu kontakt ze współpracownikami.
Jego wielkie marzenie musiało poczekać na realizację jeszcze całe stulecie.
Mira Żmijewska