@@@ novinky & komentáře | autor: Jaroslav Klečka | souhrnné historické pohledy |
Jednoho rána v polovině října jsem si při snídani, jako obvykle pustil televizi a shlédl jeden krátký dokument ČT připomínající 50. výročí otevření Katedry počítačů na elektrotechnické fakultě ČVUT v Praze. Tento dokument mne vyprovokoval, abych se konečně pustil do sepsání svých vzpomínek na tu dobu.
Já totiž u toho byl! V roce 1964 jsem byl studentem 4. ročníku Elektrotechnické fakulty ČVUT a mou specializací se právě v té době staly samočinné počítače. O rok později, tedy v roce 1965 jsem byl jedním z prvních absolventů tohoto oboru v ČSSR. Obor Samočinné počítače byl u nás pochopitelně v plenkách a naši vysokoškolští učitelé zdánlivě za světovým vývojem zaostávali. Ale jen zdánlivě. Moji vrstevníci si možná vzpomenou na prof. Svobodu, který byl vlastně otcem myšlenky, později aplikované i při dobývání měsíce, kdy firma IBM použila pro řízení přistání Apolla na měsíci 5 počítačů, které všechny počítaly stejné úlohy a jako správný výsledek bylo vybrán ten, který měl alespoň tři shodná řešení. Proč vlastně?
Vracím se opět k již zmíněnému dokumentu ČT. Pracovnice Elektrotechnické fakulty ČVUT tam totiž hovořila kromě jiného i o historii výpočetní techniky prezentované výstavou "památek" z doby před 50 roky a zmínila se o tzv. "sálových počítačích". Všechny tam představené "památky" ovšem pocházely z doby o pár roků pozdější.
V době založení Katedry počítačů na ČVUT sice už i v Praze existoval počítač, který byl instalován v Ústavu výpočetní techniky ČSAV v Horské ulici na Albertově (poslechněte si dokument na www.youtube.com) sovětský počítač URAL 2, kterému se už v té době říkalo počítač "sálový". Důvodem proč se mu říkalo sálový, byla skutečnost, že musel být nainstalován na velké ploše, tedy na nějakém sále, URAL 2 byl ovšem ještě počítač, sestavený z elektronek a pro svůj provoz a chlazení pochopitelně potřeboval "malou elektrárnu". Kdo si na tu dobu použití elektronek - třeba i v televizorech - pamatuje, ten jistě ví, jak spolehlivá byla zařízení, využívající elektronky.
Vrátím se nyní v čase ještě k panu prof. Antonínovi Svobodovi a jeho myšlence redundantních výsledků výpočtů, zpracovávaných na více strojích. Prof. Svoboda na konci 50. a počátkem 60. let 20. století pracoval na Ústavu matematických strojů. Navrhl tam koncepci děrnoštítkového (v podstatě reléového) počítače SAPO, který byl dokončen v roce 1960. Ale už v té době byl zastaralý a současně i značně nespolehlivý. Nespolehlivé pochopitelně byly prakticky všechny tehdejší samočinné počítače na bázi elektrických relé, elektronek a o mnoho lepší to nebylo ani po zavedení tranzistorů do výroby samočinných počítačů. Právě nespolehlivost byla důvodem vzniku myšlenky prof. A. Svobody na pozdější využití pěti počítačů IBM na palubě kosmické lodě Apollo. V té době ovšem už prof. A. Svoboda pro IBM pracoval, protože právě v roce 1964 emigroval do USA (více si o prof. Antonínu Svobodovi přečtěte na: cs.wikipedia.org/wiki/Antonín_Svoboda ) a přednášel na univerzitě v Kalifornii. Vývoj samočinných počítačů se nakonec ovšem vyvíjel ve světě úplně jinak.
Jak vidíte, tak už před padesáti lety v ČSSR počítače existovaly. Ne všichni si však spojujete samočinné počítače jen s dnešními digitálními počítači. Ony totiž existují a existovaly i počítače analogové. Tyto analogové počítače sice využívají elektronické či elektrické součástky, pracující spíše spojitě a nikoliv využitím "nul a jedniček". I teorie těchto analogových počítačů se na Katedře počítačů FEL ČVUT v té době vyučovala, ale nechejme tuto kategorii bokem.
Jistě víte, že pro funkci a získání výsledků jakékoliv úlohy na samočinném počítači je třeba do něj vložit a následně spustit konkrétní program. Jak se tedy v té době programovalo?
Studenti nově založené Katedry počítačů FEL ČVUT museli v rámci studia naprogramovat nějakou konkrétní úlohu (já sám si už bohužel dnes nepamatuji, co jsem tehdy musel zplodit). Rád bych podotkl, že počítač URAL nepoužíval žádný operační systém a programovat bylo nutno přímo ve strojovém kódu samotného počítače. Spolehlivost uvedeného počítače bych dokumentoval i tak, že výsledek svého programu (možná i programů jiných "autorů" pro důležitější výpočty) jsem nikdy neviděl, ale zápočet jsem přesto dostal.
FEL ČVUT jsem dokončil o rok později a i když jsem svou diplomovou práci dělal z oboru počítačů, byla zaměřena do technické, nikoliv ještě programátorské oblasti. Přesto měla s prof. A. Svobodou opět něco společného a její výsledek byl opět velmi úzce spojen se spolehlivostí tehdejší součástkové základny. Podle zadání jsem měl navrhnout spolehlivou součást procesoru počítače, postavenou pro určitou rychlost tohoto procesoru. Protože nejen mně, ale především zadavateli diplomové práce byla známa spolehlivost tehdejších československých tranzistorů, zvolil jsem velmi podobné řešení, jaké ještě u nás v republice publikoval prof. A. Svoboda. Moje diplomová práce byla oponenty z Výzkumného ústavu matematických strojů nakonec velmi pozitivně hodnocena.
I když mne mé vzděláním předurčilo ke kariéře technika/elektronika samočinného počítače, pracoval jsem v této oblasti jen přibližně půl roku. Nicméně už v té době jsem se naučil i programovat svůj první pracovní počítač, kterým byl už západoněmecký tranzistorový počítač ZUSE 23, resp. ZUSE 23V (viz http://de.wikipedia.org/wiki/Zuse_KG ). A pochopitelně šlo opět jen o programování ve strojovém kódu. Programovat jsem tedy začal více méně ze záliby na počítači, který měl svou vnitřní feritovou paměť jen o rozsahu 256 40ti bitových slov, ale byl vybaven i externí bubnovou magnetickou pamětí o velikosti 8190 oněch 40ti bitových slov. A věřte nebo nevěřte, podařilo se mi ve spolupráci s mým kamarádem, který zůstal pracovat na Katedře počítačů mé alma mater, naprogramovat na tak "malém" sálovém počítači algoritmus pro rozpoznávání písma. Oba mé "první" počítače ZUSE 23 a ZUSE 23V pracovaly ve Výstavbě ostravsko-karvinských dolů až do konce 70. let.
Mým dalším počítačem pak byl britský počítač ICL 1905, kde se již začal pro programování používat jazyk PLAN, který byl spíše assemblerem, ale existoval zde později i překladač pro COBOL a Fortran IV. Cobol jako takový se zpočátku moc nepoužíval (prvotní překladač ani nesplňoval ANSI normu), protože přeložené programy byly relativně rozsáhlé a na tehdy "povolených" západních počítačích, na které bylo pro komunistické země uvaleno určité embargo, nebyly povolovány velké vnitřní paměti . Z téhož důvodu jsme ani nemohli instalovat žádný operační systém. Ten sice firma ICL měla k dispozici, ale do vnitřní paměti s 32 k dvaatřicetibitových slov by se byl vešel snad už jen ten operační systém a žádný další větší program. I když měl uvedený počítač instalováno jen 8 magnetopáskových jednotek, naši programátoři zde dokázali vytvořit stovky ba tisíce programů pro rutinní zpracování dávkových úloh pro řízení Ostravsko-karvinských dolů jako např. pravidelné zpracování agendy Mezd pro důlní i nedůlní pracovníky OKD, kterých v té době bylo v revíru více než 100 000 nebo MTZ pro více než 200 skladů po všech důlních i nedůlních organizacích OKD, ale i kompletní účetní závěrky korporace o výše uvedeném počtu lidí. Zde vyjmenované systémy obsahovaly stovky programů, které museli analytici a programátoři vytvořit a následně i aktualizovat tak, aby odpovídaly realitě.
Pro vědecko-technické výpočty naši i externí programátoři používali jazyk Fortran IV a byli schopni spočítat i vlivy propadání terénu, způsobené jeho poddolováním neboli veškerou důlní činností.
Prakticky již od roku 1967, kdy jsme se připravovali na instalaci počítače ICL 1905, jsme se stali členy Sdružení uživatelů počítačů firmy ICL a na této úrovni jsme si vyměňovali zkušenosti jak z provozu těchto systémů, tak především zkušenosti z jejich programování i s pracovníky jiných výpočetních středisek severomoravského regionu i z celé republiky. Tato platforma se ale stala i přípravou pro pozdější organizaci celostátních seminářů Programování, které jsme v našem regionu spolu s Domem Techniky ČSVTS , ale především spolu s programátory dalších velkých výpočetních středisek ostravského regionu začali počátkem sedmdesátých let organizovat a pravidelně jednou ročně pořádat. Věhlas těchto seminářů byl skutečně veliký a zúčastňovalo se jich i více než 200 lidí. Původním místem konání bylo město Havířov, odkud jsme seminář později přestěhovali do Ostravy. Po "sametové revoluci", kdy začala v organizacích platit jiná pravidla, dávající přednost především obchodním tajemstvím a soukromým vlastnickým vztahům, se organizací tohoto semináře začala zabývat především Vysoká škola báňská v Ostravě a původní organizátoři se z velkých podnikových výpočetních středisek rozprchli do nejrůznějších organizací po celé republice.
Seminář programování se z počátku věnoval především metodikám programování v oblasti hromadného a dávkového zpracování dat a v menší míře i standardizaci v oblasti technických výpočtů. Pochopitelně, že jsme se pokoušeli propagovat mezi našimi profesními kolegy metody, které v té době byly v jiných zemích, především na západ od železné opony, běžné. U nás však musely všechny takovéto metody počítat s omezeními danými embargem, uplatňovaným západními výrobci výpočetní techniky na výkon u nás tehdy instalovaných počítačů.
Dnešní programátoři si asi těžko představí, že jsme nejprve neměli k dispozici žádný operační systém a vnitřní paměti počítačů měly skutečně z dnešního pohledu směšné velikosti. Z externích pamětí existovaly prakticky jen magnetopáskové jednotky.
Prvním počítačem z operačním systémem, se kterým jsme se u nás potkali, byly počítače vyrobené firmou IBM, ty však měly v prvních konfiguracích opět připojeny jen magnetické pásky a kromě toho výměnné disky o kapacitě pouze 30 MB na jednotku. Později, koncem 70. a počátkem 80. let se v rámci socialistických zemí začaly vyrábět "kopie" počítačů, především amerických výrobců - firem IBM a PDP. Díky tomu se embargo ze strany západních vlád začalo zmirňovat, takže např. maximální povolená velikost vnitřních pamětí, dodávaných počítačů koncem 80. let minulého století, byla jen 512 kB a pro externí diskové paměti to bylo jen maximálně 600 MB.
Když to porovnávám se svým dnešním chytrým telefonem, který má "jen" 4 GB vnitřní paměti a 64 GB paměti na paměťové kartě, umí fungovat nejen jako telefon, ale i jako terminál libovolného cloudu, k němuž jsem svůj přístup zaregistroval a k němuž jsem se svým telefonem připojil, pak se zdají čísla, o nichž jsem se zmínil v předchozím odstavci, nepochopitelná.
O to důležitější pro nás bývala právě ta standardizace a využívání metodik a pravidel nejen pro programování našich úloh, ale i pro jejich správu.
S příchodem on-line zpracování a personálních počítačů na konci osmdesátých a na počátku let devadesátých. jsme museli přijmouti nová pravidla pro tvorbu aplikací pro dálkové zpracování dat a s příchodem internetu i jeho specifika, hlavně pak nové a nové programovací jazyky. V průběhu oněch uplynulých 50 let jsme v našich končinách přešli od strojového kódu přes nejrůznější assemblery a jazyky Cobol, Fortran či PL/I, ale i jazyk C, C++ až k dnešním jazykům typu Java, PHP a já už sám ani nevím, co vše se dnes vlastně používá.
Vnitřně jsem ale přesvědčen, že naše v minulosti omezené možnosti nás naučily optimalizovat, jak programovací kód, tak i metody návrhu, tvorby a obsluhy programů. Naše programy nemohly totiž plýtvat ani velikostí ani daty, které jsme měli k dispozici. Přesto jsme dokázali poskytnout řídicím pracovníkům našich firem relevantní údaje i když poplatné tehdejší době. Porovnávám-li naše možnosti, pak mohu konstatovat, že celý životní cyklus tvorby tehdejších programů a programů dnešních byl dříve daleko "pomalejší" než je tomu dnes. Vím, že jednou udělaný program či celý programový systém byl také stabilnější, neměl tolik verzí, jako má leckterý dnešní programový balík pro mobilní telefon, který je sice na mém telefonu aktualizován automaticky, ale ve velkém množství případů jde často jen o odstraňování chyb, vzniklých potřebou vypustit co nejdříve do provozu buď to, co si zákazník přeje nebo alespoň to, co si programátor myslí, že si zákazník/uživatel přál.
Nevěříte mi? Pak se podívejte na svůj tablet nebo do svého telefonu, kolikátý release a verzi VLC Player skutečně používáte!
Jaroslav Klečka - Ostrava, říjen 2014