Nedlouho po nástupu komerčních sálových počítačů nastalo na přelomu padesátých a šedesátých let v počítačovém průmyslu nepřehledné období, jež je ze zpětného pohledu označováno jako doba chaosu. Prudký rozvoj výpočetní technologie způsobil, že se v krátké době objevilo na trhu množství nejrůznějších modelů počítačů, jejichž výrobci se snažili prosadit u svých zákazníků. Rozdílnost technických řešení, již si vynutily různé oblasti použití počítačů, se stala v mnoha ohledech kontraproduktivní. Způsobovala nejen nárůst cen servisu, ale zvláště programového vybavení. Z pohledu využití počítačů se vytvořily dvě základní skupiny, ale i v rámci nich se jednotlivé modely značně lišily. Zatímco první velkou skupinu tvořily počítače určené pro vědeckotechnické výpočty, jež lze výhodně realizovat prostřednictvím binární aritmetiky, výpočtu v pohyblivé řádové čárce a vysoké interní rychlosti zpracování, druhá skupina byla určena pro obchodní účely, kde se vyžadovaly zejména decimální a alfabetické zobrazení znaků, velké externí paměti a vysoké nároky na vstupní a výstupní výkony. Tato diferenciace, jak jsme viděli již v předcházejících částech našeho seriálu, výrazně ovlivňovala i softwarové vybavení, ba dokonce i vývoj programovacích jazyků.
Tento chaotický stav vedl k tomu, že pro každou zadanou propojenou logiku a příslušnou přístrojovou techniku musela být vytvořena strojově orientovaná programová podpora. Aplikace byly zpravidla takzvaně šité na míru, což při vzájemné neslučitelnosti hardwaru znamenalo, že náklady na programátory se čím dál více prodražovaly a začínaly být větší než samotná koupě či pronájem počítače.
Na „babylónskou změť“, jež uživatelům způsobovala vrásky na čele a začínala ohrožovat důvěryhodnost výpočetních technologií, zareagovala společnost IBM v roce 1960 plánem vývoje jednotné systémové rodiny počítačů. Šlo v mnoha ohledech o převratnou myšlenku. Neboť v rámci této rodiny, označené příznačným názvem System/360, měly být programy i přídavná zařízení bez problémů směnitelné a měly pro příslušnou konfiguraci zajistit optimální uživatelské podmínky. To, co dnes většina uživatelů považuje často za samozřejmost, byla na počátku šedesátých let revoluční idea, která později umožnila nebývalý rozvoj střediskových počítačů, operačních systémů stejně jako nejrůznějších periferních zařízení, od externích disků a tiskáren po monitory a ovládací zařízení. Existence těchto výdobytků počítačové techniky, jako byly tiskárny, diskety či myši, podnítila o desetiletí nato i rozvoj minipočítačů, domácích a osobních počítačů, které ve svých důsledcích přinesly rozšíření výpočetní techniky, o němž se ani těm nejoptimističtějším počítačovým odborníkům ani nesnilo.
Ale to bychom předbíhali. Vraťme se do Spojených států na počátek šedesátých let, tedy do doby nástupu počítačů třetí generace. Do vývoje řady počítačů System/360 se zapojilo velké množství vědců a vývojářů z několika výzkumných ústavů rozesetých po obou stranách Atlantiku. Mezi nimi je třeba připomenout zejména trojici vědců, kteří celý projekt navrhli a řídili – Bob Evans, Erich Block a Frederick Brooks. Matematik a počítačový vědec Frederick Brooks, jenž byl zodpovědný za architekturu a design této rodiny počítačů a později řídil práci na operačním systému OS/360, nadto zkušenosti z práce na vývoji zobecnil ve svých knihách, díky nimž je řazen k zakladatelským osobnostem softwarového inženýrství.
U Howarda Aikena
Frederick Brooks se narodil v dubnu roku 1931 v Durhamu ve státě Severní Karolína, ale dětství prožil v nedalekém malém městě, kde jeho otec působil jako praktický lékař. Otec ho od dětství povzbuzoval v jeho zájmu o vědu, zejména o fyziku a elektrotechniku. „Od třinácti let jsem byl neskutečně fascinován počítači,“ uvedl Fred Brooks o mnoho let později v interview při příležitosti udělení Národní medaile za technologický přínos, kterou mu předal americký prezident Ronald Reagan. „Tahle fascinace začala okamžikem, kdy jsem v jednom populárně vědeckém časopise četl článek o počítači Harvard Mark I. Od té doby jsem se snažil přečíst všechny články a knihy, které byť jen vzdáleně souvisely s počítači. A také jsem sbíral staré vyřazené kancelářské přístroje, abych měl součástky na konstrukci počítače, jíž jsem se v představách neustále zabýval.“ Na střední škole vynikal Fred v matematice a technických předmětech. Protože jej čím dál více zajímala elektrotechnika, nechal se zapsat do Klubu radioamatérů a Klubu budoucích elektrických inženýrů. Činnost v těchto klubech a především výtečný prospěch mu otevřely cestu na Duke Univerzity, kde se nechal zapsat na obory matematika a fyzika, ale při studiu pravidelně docházel i na přednášky, které pořádala katedra elektrického inženýrství.
V roce 1955 ukončil studium v Durhamu, a díky svým studijním výsledkům a tématu doktorské práce, jež se zabývalo možnostmi výpočetních strojů, dostal nabídku od Howarda Aikena z Harvardovy univerzity, duchovního otce a konstruktéra počítače Harvard Mark I., zda by nechtěl doktorát obhájit na jeho katedře. Že Fred Brooks s nadšením souhlasil, není třeba zdůrazňovat. Splnil se mu jeho dětský sen. Nejenže se setkal s vědcem, jehož práci obdivoval, ale dostal také příležitost u něj studovat.
Když rok nato získal doktorát z aplikované matematiky, Howard Aiken nadaného absolventa představil svým kolegům ze společnosti IBM. Aikenovo doporučení umožnilo Brooksovi získat prestižní pracovní místo ve vědeckém středisku IBM v Poughkeepsie poblíž New York City, kde se stal členem skupiny pracující na vývoji prvního světového superpočítače Stretch.
První superpočítač
Projekt vývoje a konstrukce superpočítače IBM Stretch vzešel z podnětu vědecké laboratoře v Los Alamos, místa, kde byly zkonstruovány první jaderné zbraně. Edward Teller, šéf této laboratoře, se jasně vyslovil, že vývoj vyspělých zbrojních systémů je podmíněn vyšším výkonem počítačů. A protože společnost IBM se již osvědčila v případě projektu SAGE (Semi-Automatic Ground Environment), získala od Pentagonu objednávku na počítač, jehož výkon byl o stonásobek větší oproti modelu IBM 704.
Práce na prototypu tohoto výkonného sálového počítače začaly pod vedením Erica Blocha a Geneho Amdahla v laboratořích IBM v Poughkeepsie v roce 1955, tedy rok před tím, než do tohoto výzkumného střediska nastoupil Fred Brooks. Protože hlavní cíl představovalo výrazné zvýšení výkonu, byly při konstrukci tohoto stroje využity jak nové tranzistory, zdokonalené spínací obvody a magnetické paměti, tak řada nových technologických postupů, jež se později staly standardem pro třetí a čtvrtou generaci počítačů. Šlo nejen o technologie umožňující například efektivnější zpracování příkazů, organizaci paměti či práci s chybou v operační paměti i magnetických discích, ale i o samotnou metodiku a terminologii. Díky počítači Stretch se v informatice objevila řada základních pojmů, bez nichž si tento obor lze dnes jen obtížně představit, jako například „byte“, „vstupně-výstupní rozhraní (I/O-interface)“ či „počítačová architektura“. Fridrich Neumann, autor přehledných Dějin informatiky, uvádí, že Stretch stanovil mezinárodně rozhodující měřítka ve výpočetní technice a přinesl zásadní vědecké poznatky pro nově utvářený obor počítačové vědy. Kromě těchto technologií, které se během dalšího desetiletí staly běžnou součástí počítačů, zde byla také poprvé uplatněna například i technologie zřetězeného zpracování (označovaná jako „pipeling“), umožňující rozdělení zpracování jedné instrukce mezi různé části procesoru, a tím i dosažení možnosti zpracování více instrukcí najednou. Byla to právě technologie „pipelingu“, která o deset let později vedla k rozvoji nové třídy počítačů označovaných jako superpočítače.
Práce na vývoji a testování počítače Stretch představovala pro Brookse významnou etapu, kdy byl do praktické problematiky špičkové výpočetní techniky zasvěcen osobnostmi, jako byli jeho spolupracovníci Gene Amdahl či Werner Bucholtz (autor termínu byte). Prototyp počítače Stretch byl dokončen v roce 1961, kdy byl také tento třicetitunový kolos přemístěn do vojenských laboratoří v Los Alamos. Až do poloviny šedesátých let byl nejvýkonnějším počítačem na světě. Dnes je všeobecně považován za první světový „superpočítač“ – vytvořil nejen novou třídu označovanou jako supercomputer class, ale výrazně posunul možnosti výpočetní techniky na novou úroveň, což se ukázalo v následujících letech při přípravě nové rodiny počítačů System/360. Na základě počítače Stretch bylo vyrobeno sedm obdobných strojů označovaných jako počítače řady IBM 7030. Cena jednoho stroje činila zhruba 10 milionů dolarů. Z tohoto důvodu byly počítače IBM 7030 využívány většinou armádními vědeckými středisky ve Spojených státech a Evropě, a to zvláště pro výpočty související s vývojem jaderných zbraní, ale našly uplatnění také v tajných službách jako dešifrovací stroje.
Největší komerční projekt 60. let
Když na přelomu padesátých a šedesátých let navrhl Bob Evans vedení společnosti IBM svou koncepci rodiny počítačů, které by byly vzájemně kompatibilní (a to nejen ve smyslu hardwaru, ale i softwaru), jednalo se o novou představu, jejíž uskutečnění bylo některými pracovníky firmy považováno za nemožné. Ale tehdejší prezident IBM Thomas J. Watson Jr. tento odvážný návrh podpořil, ba co víc, založil na něm základní strategii podniku. Že toto odvážné rozhodnutí bylo správné, dosvědčila až druhá polovina let šedesátých.
Série těchto kompatibilních sálových počítačů získala příznačné označení System/360. Slovo „System“ poukazovalo na kompatibilitu a vzájemnou směnitelnost přídavných zařízení, jejichž vývoj byl součástí projektu, číslice 360 představovala symbolické vyjádření toho, že řada pokryje potřeby uživatelů v úplném rozsahu jejich potřeb. Projekt znamenal pro výzkumné pracovníky IBM neobyčejnou výzvu. Aby bylo možné zajistit bezproblémovou směnitelnost jednotlivých zařízení i programů, bylo nutné v první řadě vytvořit počítačovou architekturu, tedy sladěný sortiment systémových prvků, centrálních jednotek, vstupně-výstupních zařízení atd.
Fred Brooks se od počátku přípravy této řady počítačů podílel na jejím vývoji, nejprve jako člen přípravné skupiny, jejímž úkolem bylo vypracování konceptu architektury těchto strojů (v sérii měly být využity technologie, jež se osvědčily při vývoji počítačů IBM 1400 a IBM 7030), později jako šéf vývoje zodpovědný za architekturu a design. Nakonec, od roku 1964, koordinoval složitou práci na operačním systému OS/360, což byl – jak se ukázalo – v rámci celého projektu zřejmě nejobtížnější úkol.
Z vývoje rodiny počítačů S/360 se během pěti let stal rozsáhlý projekt, do něhož firma IBM investovala pět miliard dolarů (což podle dnešního kurzu představuje částku zhruba 35 miliard dolarů). Aby byl plán realizován v zamýšleném rozsahu, najala společnost přes 60 tisíc nových zaměstnanců a otevřela pět nových závodů. Během vývoje získala firma IBM více než 300 patentů. Kvůli obrovským investicím i koordinaci mezi několika středisky byl vývoj počítačů System/360 pokládán za největší komerční projekt, jaký byl do té doby soukromou firmou uskutečněn a financován.
Ale investice i úsilí zaměstnanců IBM se vyplatily. Když 7. dubna roku 1964 prezident IBM Thomas Watson Jr. představil řadu kompatibilních počítačů, nikdo netušil, že počítačový svět v tomto dni vstoupil do nové etapy. Rodina mainframů System/360 byla jedinečná v několika směrech. V době představení se jednalo o 6 modelů a 44 přídavných zařízení (nicméně do nástupu vyšší řady S/370 v roce 1972 měla série celkem 12 modelů, které se vyráběly až do roku 1977). Počítače disponovaly kompatibilitou zdola nahoru, jednotnou architekturou a jednotným přístupem připojení všech přídavných zařízení prostřednictvím dvou typů kanálů, což umožňovalo připojit jakékoli ze 44 nových přídavných zařízení ke kterémukoli modelu řady. Počítače spolu mohly spolupracovat, aplikace byly přenosné mezi počítači a přechod na výkonnější model nevyžadoval jejich přepis, jak to bylo nezbytné doposud. Nedílnou součástí série těchto počítačů byl i operační systém OS/360, jehož vývoj, jak už bylo řečeno, vedl právě Fred Brooks. Šlo o vlastně první velký softwarový projekt tohoto druhu. I když vývoj OS/360 provázela řada problémů a nakonec byl uveden se značným zpožděním (není divu, neboť do té doby se nikdo nepokusil vytvořit systém, který by fungoval na různě výkonných a vybavených strojích), jednalo se o významný průlom, který přinesl výrazné zjednodušení práce s počítačem.
Uživatelé všechny tyto výhody okamžitě ocenili. Během necelého měsíce po ohlášení počítačů řady S/360 získala firma tisíc objednávek. Třebaže první stroje se k zákazníkům dostaly s takřka ročním zpožděním, za dva roky IBM nashromáždila na 9 tisíc objednávek. V roce 1967 činil obrat za prodej a pronájem těchto počítačů již přes 5 miliard dolarů, což pokrylo náklady vynaložené firmou na tento rozsáhlý projekt. A nejen to. Díky úspěšné realizaci řady kompatibilních počítačů získala „Big Blue“, jak je IBM označována, značný náskok před svými konkurenty. Úspěch celého projektu umožnil společnosti investovat například do nových technologií integrovaných obvodů v době, kdy ostatní firmy ještě dlouho zůstávaly u tranzistorů.
Úsvit softwarového inženýrství
Málokterý produkt měl takový význam na celé odvětví jako rodina počítačů System/360, díky níž se na počítačovém trhu ve Spojených státech vytvořila nová konstelace. System/360 měl na počítačový průmysl obdobný vliv jako Fordův Model T na průmysl automobilový či dopravní letadlo Boeing 707 na průmysl letecký. Kvalitativní posun ale nenastal pouze v rovině rozvoje samotných počítačů, ale i v přístupech k jejich návrhu a metodice vývoje softwarového vybavení.
„Počítačová architektura je – jako každá architektura – uměním vytvořit strukturu podle požadavků uživatele a pak ji navrhnout tak, aby splňovala tyto potřeby uvnitř daných ekonomických a technických omezení tak efektivně, jak je to jen možné,“ uvedl Frederick Brooks při představení počítačů System/360. V té době se začal čím dál více věnovat obecnější problematice související s rozvojem informačních technologií. V roce 1964 založil katedru počítačové vědy na Univerzitě Severní Karolíny (Univerzity of North Carolina), kterou více než dvě desítky roků vedl. Jeho výzkumná činnost se soustřeďovala zejména na nový obor softwarového inženýrství, který se začal rozvíjet od konce šedesátých let. Brooksova kniha Mýtický člověkoměsíc (The Mythical Man-Month, 1975), označovaná často jako „Bible softwarového inženýrství“, shrnuje jeho poznatky a zkušenosti z práce na OS/360 a zabývá se řadou aspektů souvisejících s návrhem, vývojem, koordinací a vlastním řízením rozsáhlého projektu vývoje softwaru. (Termín „člověkoměsíc“ znamená jednotku vyjadřující průměrný objem práce provedené za jeden měsíc jedním pracovníkem. Obdobně jako např. člověkoden či člověkorok se používá pro posuzování objemu provedené práce na větších projektech.) Brooks, ostatně stejně jako řada dalších zakladatelů oboru softwarového inženýrství, mimo jiné zdůrazňuje, že vytváření programů je ryze inženýrskou činností, která podléhá vlastním technickým i manažerským zákonitostem.
Je paradoxem, že právě počítače série System/360 měly určitý podíl na vzniku softwarové krize přelomu šedesátých a sedmdesátých let. I když jsou příčiny této krize ze zpětného pohledu zřejmé, bylo by bláhové a nespravedlivé obviňovat společnost IBM nebo dokonce vývojáře OS/360. Principy operací, které vyjadřovaly chování všech modelů řady S/360, od souboru všech používaných instrukcí po komunikaci s přídavnými zařízeními, byly veřejně dostupné. Z tohoto důvodu se zakrátko na trhu objevily klony přídavných zařízení, ale i klony jednotlivých modelů řady, nabízené často za velmi příznivé ceny. S prudkým rozšířením počítačů třetí generace od poloviny šedesátých let došlo k rychlému nárůstu možností i spolehlivosti hardwaru, který si vyžadoval nové aplikace ve vědecké i komerční sféře. Metody tvorby softwaru ale za vývojem hardwaru bohužel značně zaostávaly. Právě tento neuspokojivý stav vedl ke snaze prosadit softwarové inženýrství jako samostatnou disciplínu, pomocí níž bude možné čelit narůstající softwarové krizi. V první řadě šlo především o formulaci základních principů a první generace nástrojů pro podporu této disciplíny, které jsou označovány jako CASE (Computer Aide Software Engeneering). Ale to už je jiný příběh.
Frederick Philips Brooks (1931), americký počítačový vědec, jeden ze zakladatelů oboru softwarové inženýrství. Vystudoval matematiku a fyziku na Duke Univerzity, doktorát z aplikované matematiky obhájil na Harvardově univerzitě, kde byl jeho školitelem Howard Aiken. V roce 1956 nastoupil do společnosti IBM. Zde se nejprve podílel na vývoji prvního superpočítače Stretch, od počátku 60. let se podílel na vývoji hardwaru a softwaru pro modelovou řadu počítačů System/360.
Je autorem několika významných článků a zejména knih zaměřených na problematiku programování a softwarového inženýrství, z nichž nejvýznamnější jsou Mýtický člověkoměsíc (The Mythical Man-Month, 1975, rozšířené vydání 1995), Počítačová architektura – koncepce a evoluce (Computer Architecture: Concepts and Evolution, 1995, spoluautor G. A. Blaauw), Design designu aneb Eseje počítačového vědce (The Design of Design: Essays from a Computer Scientist, 2010). Za svou průkopnickou práci na počítačích System/360 obdržel řadu významných cen, např. Computer Pioneer Award (1982), John von Neumann Medal (1993), A. M. Turing Award (1999), Eckert-Mauchly Award (2004). V roce 1985 jej americký prezident Ronald Reagan vyznamenal Národní medailí za technologický přínos (National Technology Medal).