Jak se hopeři živí?
Programátorka Grace Hopper není domácí jméno, ale sehrála klíčovou roli v přeměně počítačů z nedostupných výpočetních strojů na uživatelsky přívětivé nástroje. V odborných kruzích se jí říká „neuvěřitelná Grace“, „babička softwaru“ a dokonce „královna kódu“. Hopper získala tyto vysoce profilované tituly díky své práci na prvním kompilátoru a také díky jednomu z prvních programovacích jazyků. Povídáme si o jejím životě a vynálezech.
Matematika místo rodinného života
Grace Hopper se narodila v roce 1906 v New Yorku. V rodině pracoval pouze otec, byl pojišťovací agent a matka byla v domácnosti. Podle Hoppera po ní zdědila své matematické myšlení.
Mnoho budoucích inovátorů projevuje mimořádné schopnosti již v raném dětství a malá Grace nebyla výjimkou. V sedmi letech se dívka začala zajímat o to, jak fungují budíky.
Grace zahájila svůj první mechanický průzkum a rozebrala sedm kusů. Matka podpořila zájem své dcery, ale požádala ji, aby přestala studovat jeden budík.
Později se Grace rozhodla jít proti společenským očekáváním a získat technické vzdělání. V roce 1924, na svůj druhý pokus, Hopper vstoupila do Vassar College, první vzdělávací instituce pro ženy ve Spojených státech.

Vystudovala matematiku a fyziku a v roce 1928 úspěšně získala bakalářský titul v těchto specializacích. Hopper poté navštěvoval Yale University. Tam v roce 1934 obhájila doktorát s prací o neredukovatelných polynomech a teorii prstenců. Hopperovým vědeckým poradcem byl slavný norský matematik Oistin Ore.
Poté, co získala doktorát z matematiky, se Hopper vrátila na svou alma mater, Vassar College, a začala svou učitelskou kariéru. Tato kariérní cesta ale netrvala dlouho – v roce 1939 začala druhá světová válka, jíž se dva roky po útoku na Pearl Harbor staly Spojené státy americké.
„The Computer Bible“ a chyba – vojenská služba a první kroky v programování
Hopper nebyl schopen okamžitě přispět k vítězství spojenců. Ve 34 letech byl Hopper příliš starý na to, aby narukoval do armády. Vědkyně měla také podváhu – měla hubenou postavu.
Zároveň stále více mužů nastupovalo do vojenské služby a opouštělo svá zaměstnání. Obory jako matematika nutně potřebovaly kvalifikované specialisty, což hrálo v Hopperův prospěch.
V roce 1943 se jí díky programu WAVES (Women Accepted Volunteer Emergency Service) podařilo vstoupit do rezervy amerického námořnictva.
Hopperová nejprve navštěvovala Reserve Cadet School na Smith College v Massachusetts a absolvovala jako nejlepší ze své třídy.

Po roce výcviku, již jako praporčík (obdoba našeho druhého poručíka), byl Hopper poslán do Bureau of Artillery Computing Projects na Harvardské univerzitě, aby pracoval na Mark I, automatickém počítači řízeném sekvencí. Ve skutečnosti to byl první americký programovatelný počítač.
Práce pro armádu ji netrápila. Naopak tuto zkušenost popsala jako „nejúplnější svobodu, jakou jsem kdy měla“. Navíc v těch letech byly armáda a námořnictvo nejslibnějším působištěm mnoha inovativních vědců (ahoj Oppenheimer!).
Hopper volal Mark I byl „působivé zvíře“ a „nejkrásnější gadget“, jaký kdy viděla. Mark I byl 17 m dlouhý, 2,5 m vysoký a zabíral samostatnou místnost na Harvardu.
Pojem „počítačové programování“ tehdy neexistoval, ale tak by se daly popsat úkoly, které Grace v té době vykonávala. Tým pracoval na složitých výpočtech pro armádu, jako je výpočet trajektorií střel a vytváření tabulek dostřelů pro nová protiletadlová děla.
Hopper pracoval pod počítačovým průkopníkem Howardem Aikenem. V roce 1946 pověřil Hoppera, aby sestavil příručku pro použití a provoz Mark I.

V prvních letech provozu se Mark I spoléhal na improvizované metody mezi členy posádky. Hopperův úkol byl poměrně ambiciózní – spojit nesourodé znalosti o voze a vytvořit podrobné profesionální návody.
Kvůli objemu dat vědec přirovnal projekt k vytvoření „počítačové bible“. Výsledkem byla 500stránková kniha. Hopper pečlivě popsal každý aspekt fyzických součástí, provozu a údržby Mark I.
Manuál obsahoval podrobný návod, jak naprogramovat stroj, který vlastně vyrobeno jeho vůbec první učebnice počítačového programování.
Po úspěšném splnění úkolu Aiken ocenil Hopperovy zásluhy a udělal z ní svou zástupkyni. Následně byli spoluautory několika článků o Mark I. Aiken pokračoval ve stavbě výpočetních strojů s Mark II a Mark III a Hopper pracoval na svém týmu.
Během tohoto období se Hopper nevědomky podílel na vzniku pojmů „chyba“ a „ladění“ v používání počítače. V roce 1947 při testování Mark II vletěl do skříně počítače brouk, který způsobil poruchu stroje.
V angličtině je brouk bug, nebo bug. Hopperová vložila hmyz do svého technického deníku a napsala „první objevení brouka“, což znamená brouka. Do historie se ale tento termín zapsal právě jako chyba či porucha v provozu počítačového vybavení.

Motorem pokroku je lenost: vytvoření kompilátoru A-0
V roce 1949 byla Hopperovi nabídnuta pozice hlavního matematika v technologické společnosti Eckert-Mauchly Computer Corporation. Zakladatelé John Mauchly a John Presper Eckert postavili v roce 1946 počítač nazvaný ENIAC pro americkou armádu.
Hopper byl pozván k práci na UNIVAC I, prvním americkém plně elektronickém digitálním počítači pro všeobecné, nejen vojenské použití. V roce 1950 korporace prodala svá aktiva společnosti Remington Rand, poté Hopper vedl oddělení pro vývoj automatického programování.
UNIVAC I dokázal zpracovat více informací než Mark I, což Hoppera velmi oslovilo. Počítač mohl vystupovat 455 násobení za sekundu a uložit asi tisíc do své paměti na rtuťových zpožďovacích linkách.
Navíc měla větší volnost v komerční oblasti. Hopper toho využil a experimentoval s novými způsoby, jak využít počítač pro kódování.
Vědce zajímalo automatické programování. Později si vzpomněla, že při práci byla příliš líná přepisovat programy, aby se znovu a znovu vešly do nastavení hardwaru.
V roce 1952 se tedy objevil kompilátor A-0. Musíte pochopit, že tehdejší programy byly souborem matematických výrazů, které musely být zpracovány několika dalšími programy. Bylo to dlouhé a těžké.
Kompilátor A-0 umožnil přeložit vysokoúrovňový počítačový jazyk do binárního, tedy strojového jazyka, pomocí jediného programu. Paralelně s Hopperem vyvíjeli podobný program i další. Například ve stejném roce 1952 byl na univerzitě v Manchesteru pod vedením Aleca Glennieho spuštěn kompilátor Autocode.
Ale termín „kompilátor“ byl vytvořen Hopperovou a jejím týmem v Remington Rand. Funkčnost A-0 zcela neodpovídá tomu, co se dnes pod tímto pojmem myslí. Spíše to lze nazvat programovým zavaděčem a linkerem.
Přesto to byl průlom a důležitý milník ve vývoji programování. Hopper položil základ pro vytvoření moderních programovacích jazyků, které zjednodušují komunikaci mezi lidmi a počítači a umožňují provádět složité úkoly s minimálním počtem příkazů.
Po A-0 byly vydány aktualizované verze – A-1, A-2 a tak dále. První zákazníci dostali překladač A-2 do konce roku 1953. Remington Rand zajistil poskytli zdrojový kód A-2 a navrhli provést vylepšení UNIVAC.
Babička COBOL – jeden z raných programovacích jazyků
Mezitím se Hopper nadále zabýval myšlenkou psaní programů spíše slovy než symboly. Podle jejího názoru by se programovací jazyk měl přiblížit každodenní angličtině, a ne binárnímu kódu. Díky tomu by bylo používání počítačů pro běžného uživatele srozumitelnější.
Počítače se teprve začínaly rozšiřovat mezi běžné uživatele – hlavně ve firmách a podnicích. Nedostatek inženýrského nebo matematického vzdělání jim připadal jako nepřekonatelná překážka používání počítačů.
Hopperová viděla velký potenciál pro počítače v obchodních aplikacích, jako jsou mzdy, a tak pokračovala ve svém výzkumu a úsilí.

Vedení Remington Rand Hopperovu vizi nesdílelo. Bylo jí to však jedno. Výroky vědce byly rozděleny do citací a jednoho z nich čte: „Lidé jsou alergičtí na změny. Snažím se s tím bojovat, a proto mám na zdi hodiny, které jdou proti směru hodinových ručiček.“
V roce 1956 její tým spustil FLOW-MATIC, první programovací jazyk, který používal verbální příkazy. Inovací tohoto jazyka byla syntaxe, kde byla oddělena data a operace s nimi.
Verbálně byly vyjadřovány pouze transakce, údaje byly zadávány prostřednictvím předtištěných formulářů. FLOW-MATIC se stal základem pro COBOL.
COBOL vzešel z konference o jazycích systémů zpracování dat, která se konala na jaře 1959. Prováděla ho organizace CODASYL, hlavním cílem bylo vytvořit standardizovaný programovací jazyk pro podnikání.
Základem pro COBOL byl FLOW-MATIC Hopper, dalším zdrojem vlivu byl COMTRAN od IBM. COBOL byl vytvořen úsilím mnoha lidí, nejen Hopper, ale skutečnost, že její duchovní dítě bylo srdcem jazyka, jí vyneslo přezdívku „babička COBOL.“
Hopper se podílel na vývoji tohoto jazyka, a to jak ve vojenské, tak v civilní sféře. Pracovala také na vývoji kompilátoru pro COBOL.

Jazyk používá anglická klíčová slova a jeho syntaxe se blíží úplným větám v angličtině. Mezi výhody patří snadná čitelnost programů.
Mezi nevýhody patří těžkopádnost. Například to, co je vyjádřeno v jazycích podobných C jako y = x;, v Cobolu bude vypadat takto – MOVE x TO y.
COBOL byl také kritizován kvůli své nedostatečné struktuře. Nizozemský vědec a jeden z vývojářů konceptu strukturovaného programování Edsger Dijkstra dokonce promluvilže používání Cobolu „poškozuje mozek“ a učení o něm je „trestný čin“.
Přes všechny své nedostatky se COBOL rozšířil v 1960. a 1970. letech XNUMX. století. V každé firemní kanceláři blikalo stále více počítačů, přesně jak Hopper chtěl.
V osmdesátých letech byl COBOL považován za zastaralý, ale zůstal populární. Od roku 1980 kód COBOL zpracováno 90 % světových finančních transakcí a 75 % obchodních transakcí.
COBOL se používá dodnes, zejména ve Spojených státech, především pro podporu stávajících aplikací. V srpnu 2023 dokonce vyšel na 15. místě v oblíbenosti mezi všemi programovacími jazyky.
Existuje mnoho důvodů pro popularitu jazyka. Díky desetiletím používání je COBOL spolehlivý a stabilní. S jeho pomocí můžete zpracovávat velké množství dat bez nutnosti drahého vybavení. COBOL je kompatibilní s dalšími jazyky a technologiemi, jako je Java, C#, SQL, XML atd.
Legacy of Amazing Grace
Během své kariéry v počítačovém průmyslu zůstala Hopper v rezervě námořnictva. V roce 1966, když vědkyně dosáhla 60 let, jí americké námořnictvo nabídlo doživotní smlouvu. Hopper se tedy pustil do zlepšování počítačových programů flotily.
Vědec prosazoval myšlenku nahrazení velkých centralizovaných počítačových systémů sítěmi mnoha malých počítačů. Tento přístup umožnil každému uživateli, bez ohledu na jeho umístění v síti, přístup ke sdíleným databázím.
Tato inovace nakonec vedla k vytvoření internetu, který byl zpočátku vyvinut ve vojenské oblasti a pro vojenské účely.

Kromě toho se Hopper podílel na vývoji standardů pro testování počítačových systémů.
Její oddanost práci jí vynesla obdiv Hopperových podřízených, kteří ji přezdívali „Úžasná milost“. A v roce 1985 získala hodnost kontradmirála. V té době bylo Hopperovi 79 let.

I po jejím konečném odchodu do důchodu v roce 1986 Hopper pokračovala v práci. Pořádala veřejné přednášky a vedla konzultace pro IT firmy.
Grace Hopper zemřela v roce 1992. V té době už počítače nebyly vzácné, alespoň ve Spojených státech. A rozuměli angličtině a dalším lidským jazykům, přesně jak si vědec vysnil.
Hopper byla známá svou zvláštní osobností. K vojenskému cvičení byla skeptická a věřila, že je lepší požádat o odpuštění později, než čekat na povolení. V Hopperově kanceláři byla pirátská vlajka, což dodalo ironii, že sloužila v námořnictvu.
V roce 1986 byla Hopperovi udělena medaile za vynikající službu. A po její smrti byla po Hopperovi pojmenována raketová fregata. USS Hopper, superpočítač Cray XE6 „Hopper“ a vysoká škola na Yale.

Hopper sehrál obzvláště důležitou roli při zpřístupňování počítačového oboru ženám. Od roku 1994 se koná konference informatik pojmenovaná po ní. Na Hopperovo jméno existují stipendijní fondy, které podporují dívky a ženy v programování.
Během rozhovoru s televizním moderátorem Davidem Lettermanem zeptal se Hoppere, jak toho věděla tolik o počítačích? Na což vědkyně odpověděla, že nic neví. Jako mezi průkopníky Hopper jednala z velké části z rozmaru a nedostala podporu svého vedení ve všem, jak v korporacích, tak v námořnictvu. Její životní ambicí je například naučit počítače rozumět lidské řeči, nejen numerickým příkazům.
Ale tohle se jí povedlo. Přestože programování stále vyžaduje speciální dovednosti a školení, Hopperovy nápady významně přispěly k usnadnění práce programátorů. A obyčejní lidé nepotřebují studovat složitosti binárního kódu, jen aby mohli používat počítač.
Užitečné z online patentu: