Przed 60 laty: rusza pierwszy program komputerowy
1, 4, 9, 16, 25, 36... Tego dnia przed 60 laty na zbudowanym w Wielkiej Brytanii komputerze EDSAC, czyli Electronic Delay Storage Automatic Computer, ruszył pierwszy program komputerowy. Poznajcie jego historię.
06.05.2009 | aktual.: 11.02.2020 15:09
W ciągu 2 minut i 35 sekund 3500 lamp elektronowych działających w pierwszym swobodnie programowalnym komputerze obliczyło wartość potęg kwadratowych wszystkich liczb od 0 do 99. Maszyna EDSAC na uniwersytecie Cambridge i jego komercyjny odpowiednik LEO 1 zapoczątkowały erę komputerów wielozadaniowych. Tego dnia ruszył także pierwszy program komputerowy. Poznajcie jego historię.
Co to jest program komputerowy?
Program komputerowy to zbiór poleceń, któe wydawane są komputerowi po uruchomieniu programu. Ich zbiór wraz z poszczególnymi bibliotekami nazywany jest ogólnie oprogramowaniem, z których najbardziej podstawowym będzie system operacyjny. Programy komputerowe można podzielić na aplikacje i oprogramowanie systemowe.
Historia pierwszego programu komputerowego
W odróżnieniu od amerykańskiego ENIAC-a i komputera Colossus autorstwa pioniera informatyki Atanasoffa, który był używany do łamania szyfrów, EDSAC do celów wykonania nowego zadania nie musiał być przez cały dzień "przekablowywany". Podobnie jak elektromechaniczny Z3 Konrada Zusego, EDSAC był uniwersalny pod względem programowania i jako taki, był pierwszym komputerem zbudowanym według architektury von Neumanna.
Jego budowa rozpoczęła się w maju 194. roku, kiedy fizyk Maurice Wilkes przeczytał artykuł Johna von Neumanna "Draft Report on the EDVAC". W odróżnieniu od szczegółów ENIAC-a czy Colossusa, które wtedy były objęte klauzulą tajności, licząca 101 stron praca na temat nowoczesnego komputera EDVAC, który zaczął działać w sierpniu 1949 roku, nie była zaklasyfikowana jako tajna. Zdemobilizowany Wilkes pracował w laboratorium matematycznym i złożył uniwersytetowi propozycję zbudowania komputera EDVAC, który mogłyby używać wszystkie wydziały. Ku jego zaskoczeniu propozycja została przyjęta, być może dlatego, że podobny projekt został już uruchomiony w Manchesterze. Wilkesowi pozwolono wybrać się do USA, gdzie dyskutował z Johnem Mauchlym i Howardem Aikenem, ale też z wynalazcą Selectrona Janem Rajchmanem.
W odróżnieniu od amerykańskich prac, a nawet wbrew radom Howarda Aikena Wilkens zdecydował się na zastosowanie pamięci rtęciowej z akustycznymi liniami opóźniającymi jako pamięci roboczej swojej kopii EDVAC-a. W czasie wojny Wilkens konstruował radary, w których ta pamięć była używana do odfiltrowywania niepożądanego echa. Kolejną różnicą dzielącą EDSAC-a od finansowanych przez amerykańską armię projektów ENIAC i EDVAC było komercyjne wsparcie projektu, jakiego udzielił koncern spożywczy Lyons. Firma, która później –. podobnie jak Starbucks – rozwinęła się w wielką sieć herbaciarni, finansowała stanowiska asystentów w projekcie EDSAC i wydelegowała do projektu inżyniera, który wcześniej pracował nad automatami do parówek. Jego zadaniem było rozwinięcie akademickiego projektu w komputer do celów komercyjnych.
Lyons Electronic Office I, w skrócie LEO I był klonem komputera EDSAC z większą pamięcią roboczą. Po kilku niepowodzeniach LEO 1 dał dowód przydatności stosowania komputerów w biurze w grudniu 195. roku, kiedy to w firmie skomputeryzowana została księgowość. Do obliczenia pensji pracownika doświadczony księgowy potrzebował 8 minut, a LEO 1 wykonywał to samo zadanie w 1,5 sekundy. Kolejne wsparcie dla uniwersyteckiego projektu nadeszło ze strony brytyjskiej firmy BTM, wtedy jeszcze spółki córki amerykańskiego IBM-a. Fima bezpłatnie udostępniła dziurkacze i czytniki do kat perforowanych Holleritha, za pomocą których możliwe stało się wczytywanie do komputera programów i danych. Wyniki były przekazywane przez teleks.
EDSAC był 17-bitowym komputerem, który pracował z szybkością 50. kHz, miał pamięć o pojemności 1024 adresów i dysponował 18 5-bitowymi komendami takimi jak A (Add), S (Subtract) czy O (Output/Drukuj). Jego sposób działania demonstrował symulator EDSAC stworzony przez Martina Campbella-Kelly. EDSAC 1 działał do 11 lipca 1952 roku, a następnie został zastąpiony przez EDSAC-a 2. Po obliczeniu wszystkich potęg kwadratowych drugim programem był napisany przez Davida Wheelera program do wyliczania liczb pierwszych. Ten program został zademonstrowany podczas pierwszej odbywającej się poza Ameryką konferencji poświęconej szybkim maszynom liczącym, która odbyła się w 1949 roku w Cambridge, wzbudzając ogromne zainteresowanie. Z Niemiec udział w konferencji wziął Alwin Walther, który następnie na wzór EDSAC-a zbudował DERA, czyli Darmstädter Elektronischer Rechenautomat.
Trzecim, już nieco bardziej wymagającym programem, był program do obliczania funkcji Airy'ego. Zadziałał on po bardzo wielu zmianach w kodzie źródłowym. Programista Maurice Wilkes, który biegał tam i z powrotem między pokojem z perforowaną taśmą na parterze a pokojem z komputerem EDSAC na czwartym piętrze, w swoich wspomnieniach tak pisze o pierwszym debugowaniu: "Kiedy tak biegałem w górę i w dół po tych piętrach, stało się dla mnie jasne jak słońce, że niemały kawałek reszty mojego życia poświęcę na usuwanie błędów w moich własnych programach".
EDSAC wniósł do nauk komputerowych dorobek, który dziś może wydawać się banalny. David Wheeler wynalazł podprocedury. Wypróbowane i wolne od błędów procedury wkrótce były już przechowywane w bibliotekach programów. Jak to napisała w krótkiej historii EDSAC-a Karen Spärck Jones, informatyczka doświadczona w pracy z nim: komputer stworzył podwaliny chlubnej tradycji: nocami, kiedy operatorzy mieli wolne, z systemami mogli eksperymentować doświadczeni studenci, aż maszyna wyzionęła ducha. Dziś takich eksperymentatorów nazywa się hakerami.
wydanie internetowe www.heise-online.pl