@@@ novinky - - - komentáře | autor: Karel Metzl

   V šedesátých letech minulého století začala firma IBM dodávat do tehdejšího Československa své počítače řady 360 a v sedmdesátých letech pak inovovanou řadu IBM 370. První tři počítače nové řady byly v roce 1973 nainstalovány v Kladenských dolech, na ÚTIA ČSAV v Praze a u nás v Závodě výpočetní techniky OKD v Ostravě. S řadou 360 a 370 přicházela firma IBM s novým programovacím jazykem PL/I, který měl nahradit údajně zastaralé jazyky Cobol a Fortran. V našem výpočetním středisku s tímto konceptem narazila.
   Na počítači ICL jsme pro většinové zpracování hromadných dat už Cobol používali a byli jsme s ním spokojeni. Ve Fortranu pracovali hlavně naši externí zákazníci z vědeckovýzkumných ústavů. Nicméně firemní pracovníci IBM tvrdě trvali na svém jazyku PL/I. Argumentovali tím, že všichni ostatní českoslovenští zákazníci se rozhodli pro nový jazyk. To, že naše situace je jiná, že máme už celou řadu aplikací hotových v Cobolu a celý programátorský tým tento jazyk umí, neuznávali. Přesvědčovali nás, že programování hromadných dat je v PL/I natolik podobné Cobolu, že naši programátoři přechod na nový jazyk hladce zvládnou a přeprogramovat těch pár programů do PL/I bude hračka. Navíc kontrakt zahrnuje čtrnáctidenní školení všech programátorů v PL/I a dodávku příslušných tištěných manuálů.
 
   Školení byla kapitola sama pro sebe. Lektorka měla připraveny vynikající podklady pro zpětný projektor na foliích s různým překládáním, ale sama asi nikdy neprogramovala. Často zdůrazňovala méně významné maličkosti a důležité věci přecházela. Už vůbec se nemluvilo o potížích, které nevhodná aplikace může způsobit. Navíc všichni nahnaní programátoři tušili, že pravděpodobně budou dále používat Cobol a školení považovali za ztrátu času. Nesplnilo se tedy očekávání IBM, že až budou programátoři náležitě vyškolení, s jásotem přejdou na nový jazyk. Teda aspoň někteří. V tom jsme je vyvedli z omylu. Jako profesionální výpočetní středisko jsme měli své standardy. Programátoři si nemohli vybírat jazyk podle své záliby. Všichni museli pracovat s jednotným jazykem a dodržovat firemní postupy.
 
   Pracovníci IBM boj nevzdávali. Uznali, že nemůžeme nutit naše externí zákazníky, aby opustili Fortran a nabídli ho zařadit do operačního systému. Horší to bylo s Cobolem. Ten nechtěli poskytnout s tím, že ho nemají a nikde v Evropě pro něj nemají podporu. Nemohou nám poskytnout žádné školení atd. Upozornili jsme je, že v době namlouvání nám jej slibovali. Po dlouhém přemlouvání nakonec Cobol do systému vygenerovali a dodali i dvě sady manuálů. Školení jsme nevyžadovali s tím, že si své programátory přeškolíme sami. 
 
   Po přečtení manuálu Cobolu jsem zjistil, že kompilátor IBM se jen nepatrně liší od našeho dosud používaného kompilátoru ICL a do hotových programů by stačilo provést jen drobné změny v úvodní části. Vzal jsem jeden z našich cobolských programů a přepsal ho do PL/I. Musel jsem připustit, že existuje podobnost obou jazyků a programátoři by byli schopni rychle se na nový jazyk přeorientovat. Horší to bylo s porovnáním obou výsledných programů. To, že kompilace PL/I trvala déle, by se dalo přejít, ale výsledný program měl téměř dvojnásobnou velikost a při provozu si také vyžadoval větší množství času. S porovnáním jsem přišel za pracovníky IBM. Uznal jsem, že jako začátečník PL/I jsem neprogramoval optimálně a nabídl jsem jim, aby program prohlédli, případně upravili. A zde udělali chybu. Místo, aby program svěřili zkušenému programátorovi v PL/I, aby ho optimalizoval, prohlásili, že tento typ programů není pro PL/I příliš vhodný. Poděkoval jsem jim a upozornil je, že právě takové typy programů u nás potřebujeme zpracovávat a tudíž zůstaneme u Cobolu. Na problémy s aplikací jazyka PL/I narazili i v ostatních výpočetních střediscích. Záslužnou činnost na tomto poli učinili systémoví programátoři tehdejšího podniku NHKG v Ostravě. Sledovali, jak kompilátor převádí do strojového kódu různé prvky jazyka a na jejich základě vypracovali doporučení pro zápis zdrojového kódu. Své zkušenosti pak nezištně předali ostatním uživatelům na semináři „Programování 78“ v Ostravě. [Bechný - Juřina]
 
   Zajímavé bylo, že pokud jsem diskutoval s jednotlivými pracovníky IBM soukromě, tak uznávali naše argumenty, ale jako celek byli loajální ke své firmě a tvrdě prosazovali PL/I. Z obchodního hlediska to bylo pochopitelné. Jednak vyšší nároky na zdroje počítače generovaly požadavek na další upgrade hardware tj. dokoupení další vnitřní paměti a pak přechod na jazyk, který výhradně vlastnila firma, v podstatě likvidoval konkurenci. S pamětí to bylo jasné, protože z úsporných důvodů byly zakoupené počítače vybaveny dnes směšnou vnitřní pamětí 256 kB tj. pamětí na hranici funkce operačního systému. Později jsme paměť postupně zvyšovali až na 1 MB. Softwarově byl deficit vnitřní paměti řešen tzv. virtuální pamětí na disku za cenu častých výměn mezi diskem a vnitřní pamětí, což pochopitelně všechny výpočty zpomalovalo. S exkluzivitou jazyka už to tak úplně neplatilo. S prohlubující se normalizací se začaly dovážet z tehdejší NDR počítače Robotron, jejichž operační systém se velice nápadně podobal operačnímu systému IBM 360 a dokonce měly i programovací jazyk PL/I. Na obranu pracovníků Robotronu musím podotknout, že jsme od nich nezaznamenali žádný tlak na používání jazyka PL/I a nechali nás nadále pracovat s Cobolem.
 
   Přechod na kompilátor Cobolu IBM proběhl docela hladce. V rámci školení programátorů o operačním systému IBM jsme zařadili i seznámení se změnami, které se musí do cobolských programů provést. Ukázali jsme i některé další možnosti, které nový kompilátor obsahuje a možnost jejich využití. O úspěšnosti naší cesty svědčí i to, že Cobol byl v našem výpočetním středisku používán až do devadesátých let dvacátého století. 
 
   Když se dnes po čtyřiceti letech dívám zpět na naše tehdejší rozhodnutí a vítězný boj s IBM, myslím, že v tehdejších podmínkách jsme jednali správně. V současné době, kdy se vnitřní paměť počítačů zvýšila o několik řádů, by rozhodování asi už tak jednoznačné nebylo. Na druhou stranu ani dnes neplatí argument IBM o zastaralosti jazyků Cobol a Fortran. Už jako důchodce jsem vypomáhal jedné španělské firmě při převodu dat ze sekvenčního zpracování na databankové a jako hlavní jazyk jsme používali právě Cobol s vloženými moduly na Oracle. Nadále žije i ještě starší jazyk Fortran. Ten sehrál významnou roli při dobývání vesmíru a na novém nejvýkonnějším počítači, který se současně instaluje na VŠB-TU v Ostravě, se dokonce počítá s programováním v tomto jazyce. 
 
Karel Metzl - Opava, prosinec 2014