
Od abaka do peceta
Kieszonkowe maszyny liczące wymyślono już w pierwszej połowie XVII wieku
Następny projekt Babbage'a to pierwszy w historii programowany komputer ogólnego zastosowania – tzw. maszyna analityczna. Jak przystało na wiek pary, miała być napędzana silnikiem parowym. Program i dane zapisane były na kartach perforowanych. Wyniki obliczeń miała podawać drukarka lub ploter rysujący wykresy. Komputer miał mieć pamięć (mechaniczną) i jednostkę centralną (mechaniczny procesor). Programowanie zakładało używanie pętli, instrukcji warunkowych, przetwarzania równoległego. Jak widać, urządzenie stanowiło coś w rodzaju kompletnego komputera epoki wiktoriańskiej. Niestety, ogromne koszty oraz trudności techniczne i technologiczne nie pozwoliły na powstanie urządzenia w całości. Jest jednak prawdopodobne, że w najbliższych latach zostanie ono zrekonstruowane.
Zerojedynkowy alfabet
Pomysł na zapisywanie danych na papierowych kartach perforowanych nie pochodził od Babbage'a, ale został wprowadzony w tzw. krosnach automatycznych Jacquarde'a na przełomie XVIII i XIX w. Pomysł przyjął się szybko jako metoda utrwalania i analizy wyników spisów powszechnych. Pewien pracownik amerykańskiego biura statystycznego, Herman Hollerith, w latach 80. XIX w. skonstruował maszynę mechaniczno-elektryczną, która automatycznie odczytywała i porządkowała dane statystyczne zapisane na specjalnych kartach perforowanych. Urządzenie Holleritha pozwoliło ośmiokrotnie przyspieszyć prace obliczeniowe przy spisie powszechnym z 1890 r. w USA. Podobne konstrukcje rozpowszechniły się na całym świecie. Na początku XX w. zapisywano i odczytywano miliony takich kart. Zrodził się więc przemysł przetwarzania danych i firmy takie jak IBM (1917).
Wiek XX przyniósł rozwój podstaw teoretycznych budowy komputerów. Przede wszystkim za uniwersalny język maszyn matematycznych uznano system binarny. Już 3 tys. lat temu był on znany w Chinach. Traktat z tego okresu z opisem notacji zerojedynkowej za pośrednictwem jezuitów trafił do Europy w XVII w. Jego zwolennikiem i propagatorem został Leibniz. Idee Leibniza podchwyciło wielu XX-wiecznych matematyków, w tym Alan Turing. Wirtualna maszyna Turinga była schematem przetwarzania algorytmów zapisanych zero-jedynkowo. O ile założenia teoretyczne takiego urządzenia były dość proste, o tyle realizacja praktyczna skomplikowana. Z pomocą przyszła elektrotechnika i znane od czasów telegrafu urządzenie zwane przekaźnikiem (przełącznik sterowany elektromagnesem).
W latach 30. zaczęły powstawać kalkulatory elektromechaniczne. Jeden z pierwszych został zbudowany ze starych części elektrycznych na kuchennym stole przez Amerykanina, pracownika firmy Bell. Firma ideę podchwyciła i w ciągu kilkunastu lat wyprodukowała wiele modeli kalkulatorów przekaźnikowych.
Niemiecki pionier techniki cyfrowej, Konrad Zuse, nie miał tyle szczęścia co jego amerykańscy koledzy. Swoje urządzenia budował sam w prywatnym mieszkaniu. Mimo to udało mu się w czasie drugiej wojny światowej skonstruować pierwszy w Europie programowany kalkulator. Rozbudowana wersja takiego kalkulatora pracowała w Szwajcarii aż do lat 60.
Kres urządzeń elektromechanicznych przyniosła rozwijająca się intensywnie w XX w. elektronika, a przede wszystkim pojawienie się lamp elektronowych. Umożliwiały one wielokrotnie szybsze obliczenia niż elementy mechaniczne. Za pierwszy komputer lampowy można uznać urządzenie Amerykanów – Atanasoffa i Berry'ego z 1941 r., zawierające 200 lamp przeznaczonych do wykonywania podstawowych działań arytmetycznych i jedną z pierwszych pamięci elektronicznych, opartą na kondensatorach.
Dalszy rozwój maszyn liczących podyktowany był potrzebami toczącej się wojny. Swoisty wyścig zbrojeń między hitlerowskimi Niemcami a aliantami doprowadził pod koniec wojny do powstania w Anglii komputerów lampowych Koloss I i Koloss II. Służyły one do odczytywania wiadomości zaszyfrowanych przez coraz bardziej skomplikowane wersje Enigmy. Sam pomysł deszyfracji i jego postawy matematyczne stworzyli jeszcze przed wojną polscy matematycy i inżynierowie.