Krótka historia informatyki

Ryszard Tadeusiewicz

Copyright © 2019 by Wydawnictwo RM

Wydawnictwo RM, 03-808 Warszawa, ul. Mińska 25

rm@rm.com.pl

www.rm.com.pl

Żadna część tej pracy nie może być powielana i rozpowszechniana, w jakiejkolwiek formie i w jakikolwiek sposób (elektroniczny, mechaniczny) włącznie z fotokopiowaniem, nagrywaniem na taśmy lub przy użyciu innych systemów, bez pisemnej zgody wydawcy. Wszystkie nazwy handlowe i towarów występujące w niniejszej publikacji są znakami towarowymi zastrzeżonymi lub nazwami zastrzeżonymi odpowiednich firm odnośnych właścicieli. Wydawnictwo RM dołożyło wszelkich starań, aby zapewnić najwyższą jakość tej książce, jednakże nikomu nie udziela żadnej rękojmi ani gwarancji. Wydawnictwo RM nie jest w żadnym przypadku odpowiedzialne za jakąkolwiek szkodę będącą następstwem korzystania z informacji zawartych w niniejszej publikacji, nawet jeśli Wydawnictwo RM zostało zawiadomione o możliwości wystąpienia szkód.

W razie trudności z zakupem tej książki prosimy o kontakt z wydawnictwem: rm@rm.com.pl

ISBN 978-83-8151-190-2

ISBN 978-83-8151-084-4 (ePub)

ISBN 978-83-8151-085-1 (mobi)

Edytor: Justyna Mrowiec

Redaktor prowadzący: Irmina Wala-Pęgierska

Redakcja: Mirosława Szymańska

Korekta: Justyna Mrowiec

Nadzór graficzny: Grażyna Jędrzejec

Źródła ilustracji: Studio GRAW

Opracowanie graficzne okładki: Studio GRAW

Edytor wersji elektronicznej: Tomasz Zajbt

Opracowanie wersji elektronicznej: Marcin Fabijański

Weryfikacja wersji elektronicznej: Justyna Mrowiec

Spis treści

Wstęp. Czym jest informatyka

1 Pierwsze maszyny liczące

2 Pierwszy mechaniczny komputer Babbage’a

3 Program Ady Lovelace

4 Pierwsze generacje komputerów

5 Układy scalone

6 Rozwój komputerów w kierunku mainframe

7 Pierwsze polskie komputery

8 Powstanie mikroprocesorów

9 Mikrokomputery

10 Rewolucja komputerów osobistych. Powstanie standardu IBM PC

Komputery osobiste a sprawa polska

11 Mikrokomputery do użytku domowego

12 Superkomputery

13 Historia rozwoju pamięci komputerowych

Pamięci na taśmach magnetycznych

Historia dysków twardych

Dyski elastyczne

Pendrive i złącze USB

Płyty CD

14 Mała rzecz a cieszy, czyli jak wynaleziono myszkę

15 Oprogramowanie – dusza komputera

Początek historii rozwoju języków programowania

Praktyka czy teoria, czyli FORTRAN versus ALGOL

Otwarcie komputerów dla świata biznesu – język COBOL

Coś dla początkujących – język BASIC

Języki niespełnionych nadziei – PL/1, FORTH i Clipper

Przekształcony sprawny ALGOL – język Pascal

Język C i jego odmiany

Java i Python – nowe popularne języki programowania

Języki manipulujące symbolami – LISP i LOGO

16 „Pluskwy” w programach

17 Oprogramowanie komputerów jako produkt

18 Powstanie i rozwój pierwszych systemów operacyjnych

System, który oznaczał przełom – Unix

Pierwsze systemy operacyjne dla użytkowników indywidualnych – CP/M i MS DOS

Powstanie i ewolucja systemu Windows

Pierwszy darmowy system operacyjny – Linux

19 Pierwsze systemy na urządzenia mobilne

System Android

20 Rozwój oprogramowania użytkowego – przeglądarki internetowe

21 Programy poczty elektronicznej

22 Edytory tekstowe

23 Arkusze kalkulacyjne

24 Bazy danych

25 Mały i wygodny komputerowy kompan

26 Rozwój sieci komputerowych

27 Usługi komputerowe – wielki i stale rosnący rynek

28 „Eksplozja” Internetu

Jak wojskowy ARPANET stał się cywilnym Internetem

Powstanie systemu stron WWW i jego konsekwencje

Internet w Polsce

Rozwój komunikacji w sieciach komputerowych

29 Serwisy społecznościowe i komunikatory internetowe

30 Internetowa encyklopedia

31 Internet rzeczy

32 Big data

33 Oprogramowanie firmowe czy oprogramowanie wolne?

34 Polityczne uwarunkowania i społeczne skutki rozwoju informatyki

35 Koniec historii, czyli jak komputery dzisiaj wtrącają się nam do codzienności

WSTĘP

Czym jest informatyka

ROZDZIAŁ 1

Pierwsze maszyny liczące

ROZDZIAŁ 2

Pierwszy mechaniczny komputer Babbage’a

ROZDZIAŁ 3

Program Ady Lovelace

ROZDZIAŁ 4

Pierwsze generacje komputerów

Uważa się obecnie, że „dziadkowie” współczesnych komputerów to: John V. Atanasoff – twórca idei – i Clifford Berry – konstruktor pierwszego elektronicznego systemu liczącego ABC, zbudowanego w 1939 roku z wykorzystaniem 270 lamp elektronowych. Niestety ABC nie był programowalny, więc formalnie nie był komputerem.

Późniejszą historię komputerów wyznaczały tak zwane generacje. Rozwój sprzętu komputerowego zachodzi oczywiście w sposób nieprzerwany i ciągły. Od czasu do czasu jednak pojawiają się innowacje na tyle znaczące, że powszechnie uchodzą za graniczne dla pewnych etapów rozwoju sprzętu – zapoczątkowują nowe generacje. Granice czasowe poszczególnych generacji są dość niepewne, ponieważ regułą było długotrwałe współistnienie maszyn należących do różnych generacji. Nowo konstruowane komputery bowiem wolno i z oporami wypierały starsze, ale znane użytkownikom, dobrze oprogramowane i z powodzeniem stosowane maszyny wcześniejszych generacji.

Generacje można opisywać za pomocą szeregu cech technologicznych, przy czym każda z nich pozwala na wskazanie parametrów charakteryzujących poszczególne generacje oraz na zasygnalizowanie ogólnej tendencji rozwojowej. Oto te charakterystyki (rzymskie cyfry oznaczają numery odpowiednich generacji):

Obwody, z których zbudowany jest komputer

I lampy próżniowe

II tranzystory

III półprzewodnikowe układy scalone

IV układy scalone dużej skali integracji (LSI)

V układy scalone bardzo dużej skali integracji (VLSI)

Tendencją było tu uzyskiwanie układów mniejszych, szybszych, bardziej niezawodnych i tańszych.

Pamięci operacyjne

I bębny magnetyczne

II pamięci rdzeniowe (ferromagnetyczne)

III pamięci rdzeniowe (ferromagnetyczne)

IV układy scalone (LSI)

V układy scalone (VLSI), nadprzewodniki

Dominującą tendencją było uzyskiwanie pamięci o coraz większej pojemności w formie coraz bardziej upakowanych układów scalonych.

Pamięci masowe

I taśmy i bębny magnetyczne

II taśmy i dyski magnetyczne

III dyski magnetyczne i niekiedy taśmy

IV dyski i dyskietki magnetyczne

V dyski optyczne, dyski magnetyczne i pendrive’y

Tendencją było zwiększanie pojemności do bardzo dużych (masowych) rozmiarów dostępnej pamięci przy radykalnym zmniejszeniu kosztu przechowywania pojedynczego bajtu.

Po piątej generacji komputerów zaprzestano dalszej numeracji, gdyż zmiany i postęp następowały tak szybko, a jednocześnie były tak radykalne, że już z nią nie nadążano. Ale w książce poświęconej historii informatyki trzeba wspomnieć o tych najstarszych generacjach.

Za początek pierwszej generacji komputerów można uznać rok 1944, ponieważ wtedy pojawił się pierwszy powszechnie znany komputer (w nowoczesnym znaczeniu tego słowa) – Mark I, zbudowany przez Howarda Aikena na Uniwersytecie Harvarda. Mark I był ogromną maszyną: długą na 17 metrów, na 2 metry wysoką i na metr szeroką. Zawierał 3000 przełączników (mechanicznych), 750 000 lamp elektronowych i 800 kilometrów przewodów. Pracował w systemie dziesiętnym (a nie dwójkowym!) z dokładnością do 23 cyfr znaczących. Wykonywał do 3 dodawań w ciągu sekundy, potrzebował 6 sekund do wykonania mnożenia i 12 do dzielenia. Słowo „komputer” jeszcze wtedy nie istniało, więc maszyna ta otrzymała nazwę IBM Automatic Sequence Controlled Calculator. Warto podkreślić, że eksploatowano go z dobrymi efektami przez ponad 10 lat. Miał tak duże rozmiary, że do jego prezentacji potrzeba dwóch rysunków.

Twórca tego komputera, Howard Aiken, był genialnym konstruktorem, ale nie wizjonerem. Znana jest jego wypowiedź: Jedynie sześć elektronicznych maszyn cyfrowych wystarczyłoby do zaspokojenia potrzeb obliczeniowych całych Stanów Zjednoczonych. Nie trzeba chyba dowodzić, że się mylił.

Jednym z pierwszych w pełni elektronicznych komputerów był ENIAC (Electronic Numerical Integrator And Computer). Zawierał on ponad 18 tysięcy lamp elektronowych i wykonywał obliczenia według sztywnego programu (nie przewidziano w nim instrukcji warunkowych), posługując się arytmetyką dziesiętną. Zbudowali go w 1945 roku John Presper Eckert i John William Mauchly na Uniwersytecie Pensylwanii w USA, a posłużył do celów wojskowych. To ogromna maszyna: ustawione w prostokącie 12 na 6 metrów, w kształcie litery U, 42 pomalowane na czarno szafy z blachy stalowej miały po 3 metry wysokości, 60 centymetrów szerokości i 30 centymetrów głębokości.

Mauchly i Eckert opatentowali konstrukcję ENIAC-a jako pierwszego elektronicznego komputera, zainteresowali patentem firmę Remington Rand i zaczęli (od 1949 roku) produkować komputery ogólnego przeznaczenia (nie do zastosowań wojskowych). Te pierwsze na świecie komputery na sprzedaż znane były pod nazwą UNIVAC I (UNIVersal Automatic Computer). Na przypomnienie zasługuje fakt, że komputer UNIVAC odgadł wynik wyborów prezydenckich w USA w 1952 roku. Jeszcze zanim zamknięto lokale wyborcze, komputer umieszczony w amerykańskim biurze spisowym (U.S. Census Bureau) wskazał, że wybranym prezydentem będzie Dwight David Eisenhower. Odgadł prawidłowo!

Niestety w 1973 roku Mauchly i Eckert stracili patent, ponieważ sąd uznał, że w rzeczywistości pierwszym elektronicznym komputerem była maszyna ABC Atanasoffa i Berry’ego, o której wzmiankowałem na początku tego rozdziału. Zaprzestano wtedy produkcji komputerów UNIVAC.

Kolejną ważną maszyną pierwszej generacji był bardzo udany (binarny!) komputer EDVAC (Electronic Discrete Variable Automatic Computer) z 1952 roku, skonstruowany między innymi przez Johna von Neumanna. To bardzo interesujący człowiek, naturalizowany w USA Węgier, profesor Uniwersytetu Princeton, jeden z twórców amerykańskiej bomby atomowej. Wniósł ogromny wkład w tworzenie teoretycznych podstaw informatyki – jego ogólna koncepcja struktury komputera EDVAC jest wykorzystywana przy budowie komputerów do dziś, stąd niekiedy mówi się, że są to komputery o architekturze von Neumanna. Współtwórcami maszyny EDVAC byli także Mauchly i Eckert, wymienieni wyżej jako konstruktorzy ENIAC-a, którzy mieli pretensje do von Neumanna o to, że „uwłaszczył się” na ich koncepcjach. Niepodobna dzisiaj orzec, kto miał rację w tym sporze, niemniej do historii przeszedł właśnie von Neumann, bo był najbardziej znany.

W przypadku komputerów pierwszej generacji nikt nie zdawał sobie jeszcze sprawy z tego, z jak wspaniałym i uniwersalnym narzędziem mamy do czynienia. Dlatego wykorzystywano te komputery raczej banalnie – do sporządzania różnego rodzaju tabel matematycznych.

Warto może w tym miejscu wspomnieć, że pierwsze tabele matematyczne powstały na początku drugiego tysiąclecia przed naszą erą (według europejskiej rachuby czasu), w Chinach używano ich powszechnie do ułatwienia mnożenia dużych liczb. Kolejnym zastosowaniem, do którego potrzebowano stabelaryzowanych wartości, była nawigacja morska. W celu jej uproszczenia Alfons X Mądry (z Toledo) wprowadził w 1252 roku tablice określające położenie bardziej znaczących ciał niebieskich i przez ponad 200 lat wszyscy żeglarze wyruszali na morze wyposażeni właśnie w „tabele alfonsjańskie”. Nowocześniejsze tabele astronomiczne (wraz z tablicami sinusów i kosinusów) wprowadził w 1475 roku niemiecki matematyk i astrolog, znany jako Regiomontanus (w rzeczywistości nazywał się Johannes Mueller i pochodził z Koenigsbergu w Bawarii), a tabele sześciu funkcji trygonometrycznych opublikował w 1551 roku inny Niemiec, znany jako Rheticus (prawdziwe nazwisko: Georg Joachim von Lauchen). Tablice Rheticusa były tak dokładne, że praktycznie bez żadnych zmian używano ich do połowy XX wieku. Podobnie wprowadzone w 1594 roku (przez Johna Napiera) logarytmy zostały stabelaryzowane w 1617 roku przez Henry’ego Briggsa (Oksford) z taką dokładnością, że kolejne pokolenia matematyków korzystały z tych tablic, praktycznie nie wprowadzając do nich żadnych zmian.

I właśnie znaczenie i przydatność różnych tabel sprawiły, że pierwsze komputery zbudowano wyłącznie dlatego, że do większości tabel obliczanych „ręcznie” nie można było mieć zaufania. Wspomniałem już przy okazji omawiania motywacji budowy pierwszego komputera Charlesa Babbage’a, że zawierały one liczne błędy, wprowadzone omyłkowo przez rachmistrzów lub (częściej) pojawiające się podczas drukowania. Tylko maszyna, która wykonuje całkiem automatycznie wszystkie obliczenia oraz sama (bez udziału człowieka!) drukuje wyniki, mogła być źródłem wiarygodnych tabel, w związku z tym przez długi czas komputery budowano i wykorzystywano głównie do tego celu. Ciekawostką (z punktu widzenia dzisiejszej perspektywy, nacechowanej wszechobecnością komputerów) jest fakt, że przez długi czas nie znajdowano dla nich żadnego innego zastosowania!

Druga generacja komputerów powstała w latach 50. wraz z masowym rozwojem półprzewodników i elektronicznych układów tranzystorowych. Uważa się, że zapoczątkowała ją tranzystorowa maszyna o nazwie TRADIC (TRAnisitor DIgital Computer), zbudowana w Bell Laboratories w 1954 roku. Natomiast komercyjne pojawienie się komputerów drugiej generacji wiąże się niewątpliwie z wprowadzeniem w 1958 roku modeli IBM 7070 i IBM 7090.

Generacja ta miała krótki żywot, bo właśnie wtedy (pod koniec lat 50.) pojawiły się układy scalone. Podzespoły komputerów budowane z wykorzystaniem tych układów były mniejsze i sprawniejsze od budowanych z indywidualnych tranzystorów i – ze względu na mniejszą liczbę lutowanych połączeń – praktycznie się nie psuły. Ta nowa technologia wyparła tranzystory ze wszystkich zastosowań, ale w technice maszyn liczących nastąpiło to wyjątkowo szybko. O szczegółach tego procesu będzie mowa w następnym punkcie, natomiast tu warto wspomnieć, że pierwsze układy scalone stosowano przede wszystkim w kalkulatorach, a nie komputerach. Kalkulatory kosztowały mniej, a ludzi chcących z nich korzystać było o wiele więcej niż użytkowników pierwszych komputerów, więc zadziałały prawa rynku: układów scalonych dla kalkulatorów produkowano bardzo dużo, a zatem bardzo się to opłacało – co z kolei napędzało rozwój przemysłu półprzewodników.

Jako ciekawostkę warto dodać, że w odizolowanej od zachodnich technologii Polsce jeszcze w 1970 roku pracowaliśmy na lampowym komputerze (maszyna UMC-1), wykonując (nic bez trudu) bardzo skomplikowane obliczenia. Pracowałem z tą maszyną i pamiętam, że bardzo ważnym narzędziem informatyka w tamtych czasach był gumowy młotek, którym po otwarciu stalowych drzwi wielkiej szafy, w której żarzyły się setki lamp, opukiwało się pakiety celem usunięcia wadliwie pracujących styków.

Komputer ten miał jednak ogromną zaletę: grzał się tak, że nawet w największe mrozy było przy nim bardzo ciepło! Dlatego podczas słynnej zimy stulecia pierwszą czynnością przychodzących do pracy badaczy było załączenie komputera i uruchomienie jakichś dużych obliczeń. Zebrana tą drogą kolekcja rozwiązań numerycznych problemów związanych ze słynną teorią chaosu budziła potem uznanie na międzynarodowych konferencjach i wprawiała w zdumienie amerykańskich badaczy, wyposażonych w kilkaset razy szybsze komputery!

Ja sam używałem komputera drugiej generacji (Odra 1013), przygotowując swoją pracę doktorską. Programy dla tego komputera dziurkowało się na taśmie papierowej. Znalezienie błędu w tak zapisanym programie było bardzo trudne.

Podsumowując wiedzę na temat drugiej generacji komputerów: istniała ona krótko, ale tranzystory pozwoliły zminiaturyzować komputery, a także umożliwiły budowę maszyn na tyle niezawodnych, że znalazły one zastosowanie w instytucjach gospodarczych, w przemyśle i w wojsku.

Od tego momentu datuje się burzliwy rozwój informatyki, który trwa do dziś!

[1] Podobnie jak w przypadku wypowiedzi Ady Lovelace, przytoczonej w poprzednim rozdziale – podany tu cytat jest powszechnie wykorzystywany w artykułach i wypowiedziach informatyków, ale nie jestem w stanie wskazać jego źródła. Zaliczmy go więc do informatycznej tradycji, a nie do informatycznej historii.

ROZDZIAŁ 5

Układy scalone

Układy scalone stanowią dziś zasadniczy budulec, z którego wytwarza się cały sprzęt elektroniczny – nie tylko komputery zresztą, ale także wszystkie urządzenia elektroniczne, na przykład telefony komórkowe. Warto więc poznać historię tych układów.

Historia wynalazku układu scalonego wiąże się z firmą Texas Instruments i z inżynierem z tej firmy, posiadaczem historycznego patentu na układ scalony, Jackiem Kilbym.

Początkowo pracował on w firmie w Milwaukee przy budowie układów elektronicznych na potrzeby korpusu łączności Armii Stanów Zjednoczonych. W tej firmie zapoznał się z technologią półprzewodnikową, gdyż od 1952 roku wytwarzał (na licencji firmy Bell) tranzystory germanowe. W 1958 roku Jack Kilby przeszedł do pracy w potężnej już wówczas firmie elektronicznej Texas Instruments, gdzie w lipcu tegoż roku wytworzył pierwszy układ scalony. Był to przerzutnik bistabilny, do dziś jeden z podstawowych elementów każdego komputera. Dnia 28 sierpnia 1958 roku (w innych źródłach podawana jest data 12 września 1958 roku) przeprowadzono pierwszą demonstrację pracy układu scalonego wytworzonego przez Kilby’ego. Nie był on zbyt ładny, ale w jednym elemencie elektronicznym zbierał funkcje, które uprzednio wymagały połączenia wielu oddzielnych elementów. Obecnie w jednym układzie scalonym może się mieścić nawet kilkaset milionów elementów elektronicznych, co jest kluczem do zwiększenia sprawności i miniaturyzacji współczesnych urządzeń elektronicznych. Trzeba było jednak blisko 10 lat na to, by epokowy wynalazek Kilby’ego został należycie doceniony i wykorzystany. Ale potem zrewolucjonizował elektronikę, a sam wynalazca doczekał się najwyższej formy uznania, gdyż w 2000 roku dostał Nagrodę Nobla w dziedzinie fizyki.

Układy scalone mogą obejmować większe lub mniejsze fragmenty struktury komputera, z czym wiąże się zarówno klasyfikacja tych układów, jak i numeracja następnych generacji komputerów. Pierwsze układy scalone obejmowały poszczególne proste moduły, stanowiące podstawowe „cegiełki” w strukturze komputera: „bramki”, układy wykonujące operacje logiczne, przerzutniki, wzmacniacze, generatory itp. Dziś tę skalę scalania określa się skrótem SSI (small scale integration) i wiąże się ją z trzecią generacją komputerów. Klasyczną maszyną trzeciej generacji był całkowicie oparty na układach scalonych IBM System 360, wprowadzony do sprzedaży w 1964 roku.

Za sprawą tej maszyny naprawdę dokonał się przełom. Budowano ją i sprzedawano w tysiącach egzemplarzy. Użytkownik –zależnie od swoich potrzeb mógł kupić komputer mniejszy (np. 360 model 20) albo większy (wyprodukowano modele o numerach 30, 44, a także model 65). Na komputerach IBM System 360 wzorowali się Rosjanie, którzy nakazywali we wszystkich krajach RWPG (czyli krajach socjalistycznych) produkcję komputerów systemu RIAD, będących de facto kopiami tych IBM-owskich maszyn. Oznaczano je symbolami R-10, R-20, R- 30 itd. – aż do R-65). Polsce, która miała wtedy własne bardzo dobre komputery serii Odra 1300, narzucono obowiązek produkowania komputera R-30. Polscy inżynierowie ulepszyli projekt tej maszyny i produkowano ją jako R-32, a potem R-34.

ROZDZIAŁ 6

Rozwój komputerów w kierunku mainframe

Komputery IBM System 360 oraz wzorowane na nich rosyjskie RIAD-y wyznaczały pewien kierunek rozwoju informatyki, polegający na budowaniu komputerów coraz większych, coraz szybszych i mogących obsługiwać równocześnie coraz więcej użytkowników. Takie komputery nazywano mainframe, a ich budowę zdominowała firma IBM, chociaż usiłowali dotrzymać jej kroku także inni producenci. O proporcjach świadczy jednak popularne w latach 70. określenie: IBM and the Seven Dwarfs (IBM i siedmiu krasnoludków). Dla porządku odnotujmy, że produkcją komputerów mainframe zajmowały się (poza IBM) firmy: Burroughs, Control Data Corporation, General Electric, Honeywell, NCR, RCA i UNIVAC.

Komputery typu mainframe miały (z założenia) obsługiwać wielu klientów biznesowych, którzy mogli równocześnie korzystać z zasobów i usług obliczeniowych jednej wielkiej maszyny klasy mainframe dzięki rozwiniętej i udoskonalonej przez IBM technice wielodostępu oraz jednoczesnej obsłudze różnorodnych procesów biznesowych (ang. mixed workload).

Komputery klasy mainframe pracowały bardzo wydajnie i szybko, ale to nie była ich najważniejsza cecha. Pod tym względem ustępowały znacznie superkomputerom, o których napiszę w rozdziale 12. Oczekiwano od nich natomiast bardzo pewnej i niezawodnej pracy. Musiały działać nieprzerwanie przez setki godzin, gdyż awaria komputera obsługującego ważny proces biznesowy ma katastrofalne skutki. Obliczono, że koszt 1 godziny awarii komputera oznacza stratę w wysokości zależnej od rodzaju obsługiwanej firmy:

- dla firmy brokerskiej 6 mln 480 tys. USD

- dla firmy energetycznej 2 mln 800 tys. USD

- dla banku obsługującego karty kredytowe 2 mln 580 tys. USD

- dla firmy telekomunikacyjnej 2 mln USD

- dla firmy produkcyjnej 1 mln 600 tys. USD

Nic dziwnego, że producenci komputerów mainframe niezawodność i pewność pracy stawiali na pierwszym miejscu. Duże znaczenie miały też szybkie linie transmisji danych, pozwalające przesyłać informacje między terminalami użytkowników (niekiedy bardzo odległych) a komputerem mainframe, który obsługiwał ich w czasie rzeczywistym.

Komputery mainframe miały swoje wymagania. Ich wspólną cechą były duże rozmiary. System komputerowy składał się z wielu szaf wypełnionych elektroniką i zajmował całe duże pomieszczenie. Podłoga w takim lokalu musiała być podwójna, ponieważ poszczególne moduły systemu trzeba było łączyć licznymi kablami, które, gdyby wiły się po podłodze, stanowiłyby prawdziwy tor przeszkód dla obsługujących komputer ludzi. Ale w związku z tym każdy moduł podłogi musiał być w razie potrzeby podnoszony za pomocą specjalnej przyssawki, żeby można było sprawdzić, czy wszystko pod nim poprawnie kontaktuje. Znam to dobrze z własnego doświadczenia, bo pracując przy RIAD-zie, sam biegałem z taką przyssawką!

Komputery mainframe wymagały klimatyzacji. Było to kosztowne (klimatyzator zużywał więcej energii niż sam komputer) i kłopotliwe dla obsługi (żeby latem wejść do takiej lodowej jaskini, trzeba było pośpiesznie naciągnąć sweter).

Firma IBM była tak pewna swojej (niekwestionowanej) pozycji lidera na rynku komputerów mainframe, że nie zwracała uwagi na to, co się działo poza sektorem mainframe. A działo się dużo!

Ilekroć o tym myślę, to przychodzi mi do głowy analogia do zagłady dinozaurów. Były one ogromne i dominowały we wszystkich środowiskach. Nie zwracały zapewne uwagi na malutkie ssaki, które gdzieś się tam kryły w swoich norkach. Ale nastąpił kataklizm, który spowodował, że dinozaury wyginęły, a ssaki opanowały ziemię.

Kataklizmem, który de facto zakończył dominację komputerów mainframe, był dalszy rozwój układów scalonych i ogromny wzrost możliwości mini- i mikrokomputerów. Zanim jednak napiszę o mikroprocesorach (rozdział 8) i związanych z nimi minikomputerach (rozdział 9) – kilka słów chcę poświęcić historii pierwszych polskich komputerów.

ROZDZIAŁ 7

Pierwsze polskie komputery

Jak już pisałem, historia pierwszych (w skali światowej) komputerów związana była głównie z dokonaniami informatyków i konstruktorów amerykańskich. Nie znaczy to jednak, że ciekawe rozwiązania maszyn liczących nie powstawały również w innych krajach świata. Na przykład w ZSRR już w latach 50. ubiegłego stulecia budowano pierwsze komputery – między innymi MESM, uruchomiony 25 grudnia 1951 roku, albo BESM, wykorzystywany do obliczeń związanych z lotami kosmicznymi, w których ZSRR przez wiele lat przodował. Nie będę jednak włączał do krótkiej historii informatyki wątku komputerów radzieckich, bo obowiązujące na całym świecie linie rozwojowe cały czas narzucali Amerykanie. Podobnie dla klarowności wywodu nie wspomniałem o niemieckim komputerze Z3 Konrada Zuse z 1941 roku, chociaż był on wcześniejszy od omawianego wyżej komputera Mark I. Jednak to Mark I zapoczątkował ewolucję komputerów, trwającą do dnia dzisiejszego, bo dzieło Konrada Zuse popadło w zapomnienie po przegranej przez Niemcy II wojnie światowej.

Jest jednak fragment historii komputerów, który trzeba tu przypomnieć, chociaż nie stał się on kamieniem milowym rozwoju światowej informatyki. Mowa o pierwszych polskich komputerach. Pierwszym polskim elektronicznym komputerem był XYZ, zbudowany w 1958 roku przez pracowników Zakładu Aparatów Matematycznych PAN (późniejszego Instytutu Maszyn Matematycznych). Zespołem twórców tego komputera kierował prof. Leon Łukaszewicz. Cenię sobie to, że gdy w 2002 roku wybierano mnie na członka Polskiej Akademii Nauk – właśnie Leon Łukaszewicz rekomendował mnie i przedstawiał moje osiągnięcia naukowe.

Maszyna XYZ miała głównie charakter doświadczalny, ale na podstawie obserwacji zgromadzonych przy jej budowie w 1961 roku zbudowano pierwszy polski komputer użytkowy ZAM-2. Komputer ten wykonywał obliczenia praktyczne (dla Towarzystwa Ubezpieczeń i Reasekuracji WARTA), był też produkowany w ograniczonej serii 12 sztuk na potrzeby rynku krajowego i na eksport (do NRD). Kolejny komputer, ZAM 41, powstał także w Instytucie Maszyn Matematycznych w Warszawie, ale potem produkcję komputerów przeniesiono do Wrocławskich Zakładów Elektronicznych Elwro. Początkowo produkowano tam lampowe komputery UMC-1 według projektu z Politechniki Warszawskiej. Wyprodukowano 25 sztuk. Potem jednak zdecydowano, że Elwro będzie samo projektować swoje komputery. Budowane komputery miały mieć wspólną nazwę „Odra” i numery nadawane według systemu sygnalizującego stopień zaawansowania maszyny. Zespołem, który tworzył w Elwro kolejne Odry, kierował Thanasis Kamburelis, grecki emigrant, a zarazem gorący polski patriota.

Pierwszy komputer Odra 1001 zbudowano w 1960 roku, ale nie był on szczególnie udany. Odra 1002 też nie okazała się sukcesem. Produkcja na większą skalę ruszyła w 1963 roku, gdy powstała Odra 1003. Nie była jednak duża: w 1963 roku wyprodukowano 2 sztuki, w 1964 – 8 sztuk, a w 1965 roku 32 sztuki. Ale można powiedzieć, że w połowie lat 60. ubiegłego wieku w Polsce zaczęło się przemysłowe wytwarzanie komputerów.

W większej liczbie egzemplarzy wyprodukowano następny komputer, Odrę 1013. To była maszyna, którą poznałem bliżej jako pierwszą. Prototyp tego komputera zaprezentowano w 1965 roku, a w latach 1966–1967 produkowano po 42 takie komputery rocznie. Komputer ten był jednym z najlepszych w całym bloku państw komunistycznych, więc z 84 wyprodukowanych maszyn aż 53 wyeksportowano.

Prawdziwym hitem eksportowym była także opracowana w 1967 roku Odra 1204. Zajmowałem się testowaniem eksportowych egzemplarzy tej maszyny podczas praktyki dyplomowej w 1970 roku, którą odbywałem właśnie w Elwro. Mogę zaświadczyć, że Odra 1204 to była naprawdę bardzo dobra maszyna, więc ze 179 egzemplarzy wyprodukowanych w latach 1968–1972 aż 114 wyeksportowano. Żartobliwie można powiedzieć, że Odra 1204 osiągnęła wysoki poziom, ponieważ jeden jej egzemplarz, sprzedany do ZSRR, ulokowany został w obserwatorium na górze Elbrus, najwyższym szczycie Kaukazu. Odry pracowały też w Nowosybirsku, na Uniwersytecie w Dacca w Bangladeszu czy na Uniwersytecie w Kairze.

Wróćmy jednak do roku 1967, kiedy to pojawiła się Odra 1204, bo właśnie wtedy w polskim piśmiennictwie po raz pierwszy użyto słowa komputer. To dziś wręcz trudne do uwierzenia, ale do 1967 roku w artykułach i książkach związanych z informatyką używano wyłącznie określenia „Elektroniczna Maszyna Cyfrowa” (w skrócie EMC), będącego adaptacją nazwy przyjętej w piśmiennictwie rosyjskim. Jednak w numerze 2/1967 czasopisma „Maszyny Matematyczne”, wydawanego przez NOT (Naczelną Organizację Techniczną), ukazał się artykuł Adama B. Empachera, w którym ten zasłużony popularyzator informatyki użył słowa „komputer”.

Wywołało to prawdziwą burzę!

Redakcja tego profesjonalnego czasopisma informatycznego (!) uznała za konieczne poprzedzić tekst artykułu komentarzem redakcyjnym następującej treści:

W artykule A.B. Empachera pojawia się wielokrotnie wyraz „komputer”. Wyraz ten został użyty – według wyjaśnień Autora – w tym samym znaczeniu co angielskie „computer”. Pragniemy podkreślić, że określenie „komputer” umieszczono w tekście na wyraźne żądanie Autora, wbrew poglądom Redakcji, która zachowuje rezerwę przy wprowadzaniu nowotworów językowych”.

Jak widać, termin „komputer” rodził się w Polsce w bólach, podobnie jak w bólach rodziły się same komputery, bowiem mankamentem maszyn produkowanych w Elwro było to, że brakowało do nich oprogramowania użytkowego. Wprawdzie wraz z Odrą 1204 sprzedawano doskonały kompilator języka Algol (znany jako Algol 1204, stworzony na Uniwersytecie Wrocławskim przez zespół kierowany przez Jerzego Szczepkowicza), ale to było narzędzie dla użytkowników, którzy chcieli i umieli sami programować. Natomiast programów gotowych do natychmiastowego użycia podczas zajmowania się zagadnieniami technicznymi, ekonomicznymi lub statystycznymi – po prostu nie było. Ograniczało to znacząco praktyczną przydatność budowanych komputerów, zwłaszcza w zastosowaniach gospodarczych, które właśnie w tamtych czasach zaczęły odgrywać bardzo ważną rolę. Dlatego, wyposażając w komputery nowo utworzoną instytucję, mającą świadczyć usługi obliczeniowe dla przedsiębiorstw, ZETO ZOWAR, zakupiono za ćwierć miliona USD komputer IBM 1440 – elektronicznie dość stary, ale za to z bardzo bogatym oprogramowaniem. Na tym komputerze, który w USA uważano za maszynę dla małych i średnich przedsiębiorstw, prowadziły obliczenia największe przedsiębiorstwa z całej Polski!

W tej sytuacji konstruktorzy Elwro postanowili zbudować następny komputer tak, by mógł on wykorzystywać gotowe oprogramowanie jakiejś dobrze wyposażonej maszyny zachodniej. Po uzgodnieniach z producentami brytyjskiego komputera ICT 1904 wybrano ten właśnie model jako „dawcę oprogramowania”. Plotka głosi, że firma ICT (potem działająca pod nazwą ICL) zgodziła się sprzedać potrzebne nam oprogramowanie, ponieważ ich inżynierowie nie wierzyli, że Polakom uda się zbudować całkiem inny elektronicznie komputer, który będzie mógł wykonywać wszystkie ich programy.

Kontrakt zawarto, zakupiono odpowiednie licencje i w 1970 roku wypuszczono na rynek komputer Odra 1304.

Komputer ten nie tylko sprawnie realizował wszystkie programy napisane dla ICL 1904, ale w dodatku był szybszy od maszyny brytyjskiej, zajmował dwa razy mniej miejsca i zużywał mniej energii elektrycznej. Podobno Anglikom oko zbielało!

Łącznie w latach 1970–1973 wyprodukowano 90 egzemplarzy tego modelu komputera, po czym Elwro podjęło produkcję znacznie udoskonalonej wersji pod nazwą Odra 1305. W tamtych czasach był to system o mocy obliczeniowej porównywalnej z niektórymi produktami niedostępnej wtedy serii IBM 370 (modele 145 i 155). Produkcję tego udanego komputera prowadzono do 1975 roku, kiedy to ZSRR wymusił na wszystkich krajach komunistycznych (czyli zależnych od ZSRR) przerwanie produkcji własnych komputerów i podjęcie produkcji komputerów RIAD.

O komputerach RIAD była już mowa (w kontekście kopiowania systemu IBM 360), natomiast maszyn Odra 1305 wyprodukowano w Elwro łącznie 346 sztuk. Sprzedać mogliśmy dziesięć razy więcej...

Równolegle z komputerami Odra 1305 produkowano także mniejsze rozmiarami, ale w pełni zgodne programowo z Odrą 1305, komputery Odra 1325 – głównie przeznaczone do sterowania procesami przemysłowymi. Powstało ich łącznie 157 egzemplarzy.

Ponieważ komputer Odra 1325 znakomicie sobie radził ze sterowaniem różnymi obiektami – zainteresowało się nim także wojsko. Okazało się, że mobilne wersje komputerów Odra 1325, nazywane w wojsku Rodan 10, Rodan 10/79 oraz Rodan 15 (budowane przez zespół, którym kierował Heliodor Stanek) znakomicie się spisywały jako elementy sterujące w systemach radiolokacyjnych RAMONA i TAMARA, produkowanych przez czeskie zakłady Tesla. Wyprodukowano 135 komputerów Rodan 10 i 34 komputery Rodan 15. Było to w latach 70., więc dawno temu, ale okazało się, że dobre wojskowe rozwiązania tak szybko się nie starzeją. Kilka lat temu sensację na całym świecie wywołała wiadomość, że czeski radar sterowany polskim komputerem Rodan naprowadził skutecznie arabskie rakiety (Czesi sprzedawali swój sprzęt wojskowy na Bliskim Wschodzie) na amerykański supernowoczesny samolot bojowy. Samolot wart dziesiątki milionów dolarów został zestrzelony za sprawą polskiego komputera kosztującego tysiąc razy mniej!

Ale nie rozwijajmy tego tematu, bo Amerykanie to przecież nasi sojusznicy...

[1] Czasopismo to wydawano w latach 60. i 70. pod wskazanym tytułem „Maszyny Matematyczne”, natomiast w latach 80. i 90. XX wieku nosiło tytuł „Informatyka”.

[2] „Maszyny Matematyczne”, 1967, nr 2, s. 30–39 – czasopismo dostępne w Internecie. Można tam także przeczytać, że zbulwersowana Redakcja nie poprzestała na samym komentarzu redakcyjnym o wyżej przytoczonej treści, ale dodatkowo pod artykułem umieszczono przypis: Terminologia zastosowana na odpowiedzialność Autora.

[3] Był to skrót od nazwy Zakłady Elektronicznej Techniki Obliczeniowej – Zakład Obliczeniowy Warszawa.

ROZDZIAŁ 8

Powstanie mikroprocesorów

ROZDZIAŁ 9

Mikrokomputery

ROZDZIAŁ 10

Rewolucja komputerów osobistych. Powstanie standardu IBM PC

ROZDZIAŁ 11

Mikrokomputery do użytku domowego

ROZDZIAŁ 12

Superkomputery

ROZDZIAŁ 13

Historia rozwoju pamięci komputerowych

ROZDZIAŁ 14

Mała rzecz a cieszy, czyli jak wynaleziono myszkę

ROZDZIAŁ 15

Oprogramowanie – dusza komputera

ROZDZIAŁ 16

„Pluskwy” w programach

ROZDZIAŁ 17

Oprogramowanie komputerów jako produkt

ROZDZIAŁ 18

Powstanie i rozwój pierwszych systemów operacyjnych

ROZDZIAŁ 19

Pierwsze systemy na urządzenia mobilne

ROZDZIAŁ 20

Rozwój oprogramowania użytkowego – przeglądarki internetowe

ROZDZIAŁ 21

Programy poczty elektronicznej

ROZDZIAŁ 22

Edytory tekstowe

ROZDZIAŁ 23

Arkusze kalkulacyjne

ROZDZIAŁ 24

Bazy danych

ROZDZIAŁ 25

Mały i wygodny komputerowy kompan

ROZDZIAŁ 26

Rozwój sieci komputerowych

ROZDZIAŁ 27

Usługi komputerowe – wielki i stale rosnący rynek

ROZDZIAŁ 28

„Eksplozja” Internetu

ROZDZIAŁ 29

Serwisy społecznościowe i komunikatory internetowe

ROZDZIAŁ 30

Internetowa encyklopedia

ROZDZIAŁ 31

Internet rzeczy

ROZDZIAŁ 32

Big data

ROZDZIAŁ 33

Oprogramowanie firmowe czy oprogramowanie wolne?

ROZDZIAŁ 34

Polityczne uwarunkowania i społeczne skutki rozwoju informatyki

ROZDZIAŁ 35

Koniec historii, czyli jak komputery dzisiaj wtrącają się nam do codzienności

Table of Contents

Czym jest informatyka

Pierwsze maszyny liczące

Pierwszy mechaniczny komputer Babbage’a

Program Ady Lovelace

Układy scalone

Rozwój komputerów w kierunku mainframe

Pierwsze polskie komputery

Powstanie mikroprocesorów

Mikrokomputery

Rewolucja komputerów osobistych. Powstanie standardu IBM PC

Komputery osobiste a sprawa polska

Mikrokomputery do użytku domowego

Superkomputery

Historia rozwoju pamięci komputerowych

Pamięci na taśmach magnetycznych

Historia dysków twardych

Dyski elastyczne

Pendrive i złącze USB

Płyty CD

Mała rzecz a cieszy, czyli jak wynaleziono myszkę

Oprogramowanie – dusza komputera

Początek historii rozwoju języków programowania

Praktyka czy teoria, czyli FORTRAN versus ALGOL

Otwarcie komputerów dla świata biznesu – język COBOL

Coś dla początkujących – język BASIC

Języki niespełnionych nadziei – PL/1, FORTH i Clipper

Przekształcony sprawny ALGOL – język Pascal

Język C i jego odmiany

Java i Python – nowe popularne języki programowania

Języki manipulujące symbolami – LISP i LOGO

„Pluskwy” w programach

Oprogramowanie komputerów jako produkt

Powstanie i rozwój pierwszych systemów operacyjnych

System, który oznaczał przełom – Unix

Pierwsze systemy operacyjne dla użytkowników indywidualnych – CP/M i MS DOS

Powstanie i ewolucja systemu Windows

Pierwszy darmowy system operacyjny – Linux

Pierwsze systemy na urządzenia mobilne

System Android

Rozwój oprogramowania użytkowego – przeglądarki internetowe

Programy poczty elektronicznej

Edytory tekstowe

Arkusze kalkulacyjne

Bazy danych

Mały i wygodny komputerowy kompan

Rozwój sieci komputerowych

Usługi komputerowe – wielki i stale rosnący rynek

„Eksplozja” Internetu

Jak wojskowy ARPANET stał się cywilnym Internetem

Powstanie systemu stron WWW i jego konsekwencje

Internet w Polsce

Rozwój komunikacji w sieciach komputerowych

Serwisy społecznościowe i komunikatory internetowe

Internetowa encyklopedia

Internet rzeczy

Big data

Oprogramowanie firmowe czy oprogramowanie wolne?

Polityczne uwarunkowania i społeczne skutki rozwoju informatyki

Koniec historii, czyli jak komputery dzisiaj wtrącają się nam do codzienności