Jak se zrodilo programování: Grace Hopper

  • U zrodu programování, jak ho známe dnes, stála žena – Grace Hopperová
  • Stojí za pojmy debugging či kompilátor
  • Vyvinula první univerzální programovací jazyk COBOL
Jak se zrodilo programování: Grace Hopper
Kapitoly článku

Smyčky, podmíněné skoky, podprogramy, funkce či rekurze. To jsou všechno základní programátorské principy, které dnes musí zvládnout každý začínající programátorský elév. Připadají nám normální, samozřejmé. Ani nás nenapadne, že jako vše na světě i toto musel někdo někdy vynalézt. A zatímco za stavbou prvních počítačů stáli muži, programování bylo zprvu doménou žen. A nejvýznamnější z nich byla Grace Hopperová.

631420190 
Grace Hopperová s manuálem ke svému programovacímu jazyku COBOL u počítače UNIVAC. Tedy už jako vážená programátorka. (foto: Karen, CC BY 2.0)

Narodila se v roce 1906 jako Grace Brewster Murrayová a pocházela z New Yorku, přímo z Manhattanu. Už od mládí byla vedena k technice a matematice, konkrétně svým dědečkem, stavebním inženýrem a svou matkou, matematičkou. Byla nejstarší ze tří dětí a už od mládí velice zvídavá a zkoumavá. V touze poznat, jak věci fungují, ráda různé mechanismy rozebírala, což v jejích sedmi letech odneslo hned sedm budíků v domácnosti.

Grace Hopperová

Matematička, vědkyně v oboru počítačového softwaru, autorka prvního univerzálního programovacího jazyka.

  • narození: 9. prosince 1906
  • úmrtí: 1. ledna, 1992
  • původ: New York, USA

Vystudovala matematiku na Vassar College a na Yale získala v roce 1934 své PhD. Byla jedenáctou ženou, která v oboru matematiky doktorát na Yale získala. Poměr amerických žen oceněných doktorátem přímo z matematiky činil ve třicátých letech 15% vůči celkovému počtu úspěšných doktorandek. Dnes je tento poměr dokonce ještě dvakrát vyšší. Matematika je pro americké vysokoškolačky zjevně populárním tématem.

Ve službách námořnictva

Už od roku 1931 na Vassar College vyučovala, no a řádným profesorem se stala v roce 1941. Vdala se za kolegu, profesora srovnávací literatury Vincenta Hoppera, což asi mělo jistý vliv na její výuku, neboť po svých studentech požadovala schopnost kvalitního vyjadřování – dokonce je nutila psát na některá témata eseje.

Sama byla v této oblasti přímo skvělým vzorem, neboť jen málokdo dokázal vysvětlit i ty nejsložitější problémy, převést je nejprve do matematických rovnic a následně do jazyka srozumitelného normálním lidem. Její manželství bylo prý nudné, bezdětné, takže se v průběhu čtyřicátých let rozpadlo. Už se nikdy znovu nevdala.

Po vstupu USA do druhé světové války se Hopperová (příjmení manžela si ponechala) přihlásila do amerického námořnictva. Vystudovala námořní školu a v červnu 1944 se stala poručíkem. Předpokládala, že bude jako matematička přidělena ke kryptografům, ale ke svému překvapení ji poslali na Harvard, aby pracovala na mamutím počítači Mark I.

Hopperová nikdy dříve počítač neviděla, o tento obor se absolutně nezajímala a zprvu ji toto přidělení zklamalo. Pustila se ale s vervou do práce, vyžádala si od svého šéfa, Howarda Aikena, technickou dokumentaci k počítači a po nocích ji studovala. Jestliže měla to monstrum být schopna ovládat, musela nejprve plně pochopit, jak vlastně funguje. V tomto směru to mají dnešní programátoři nesrovnatelně jednodušší.

Mark I a první knihovna funkcí

Velkou výhodou Hopperové byl její talent ve vysvětlování problémů. Nastudovala si terminologii různých oborů, takže byla následně schopna nejprve hovořit zcela zasvěceně například s oceánografy, následně celý problém vysvětlila programátorům (pochopitelně jejich termíny) a v případě potřeby i manažerům, což bylo možná vůbec nejsložitější.

Vzhledem k tomu, že se jakožto programátorka a vykladačka problémů skvěle osvědčila, tak ji Aiken zaúkolovala, aby napsala programovací manuál k počítači.

„Nemůžu přeci napsat knihu,“ namítala. „Nikdy jsem žádnou nenapsala.“

„No, teď jsi v námořnictvu,“ konstatoval. „Ber to jako rozkaz“.

Vzala to jako výzvu a pustila se do ní s vervou. Každý den napsala pět stran, které posléze předčítala Aikenovi. Tím si skvěle vybrousila sloh, protože jakmile byla nějaká pasáž moc krkolomná, ihned to při hlasitém čtení pocítila. Nejprve vysvětlila celou historii výpočetních strojů, zmínila Babbage, Adu Lovelace, popsala celý počítač Mark I a detailní popis jeho programování. V této oblasti už udělala obrovský teoretický pokrok, takže skutečně bylo v tomto prvním programovacím manuálu co popisovat.

Jakožto matematička dokázala jakýkoliv problém algoritmizovat do sekvence matematických operací, které následně zapsala na děrné štítky. Ty poté operátoři vložili do počítače a zaveden byl rituál, že před prvním spuštění se pomodlili čelem k východu za zdar této práce. Je velká škoda, že tato tradice už dneska neexistuje – je to velmi zajímavá představa, vidět zástupy programátorů mumlat s tváří k východu nějaké modlitby po každé kompilaci.

Mezi mnoha různými programátorskými finesami a triky existoval jeden, který mohl v této době fungovat jen a pouze na Mark I, kde byl program zapsán na děrných štítcích. Hopperová stvořila totiž knihovnu funkcí, například pro sin x, log x atd., no a tyto funkce bylo možné dále využívat v dalším kódu. To významně snížilo množství chyb, protože jakmile byla funkce jednou odladěna, vyzkoušena  a zařazena do knihovny, už se nikdo nemusel starat o její funkcionalitu.

Historicky první debugging

Když měla Hopperová později možnost pracovat s ENIACem, tak jeho programování (spočívající v propojovaní logických modulů) považovala za primitivní. Ano, ENIAC byl mnohem rychlejší, než Mark I, ale den vám trvalo, než jste jej dobře zapojili, zatímco Mark I bylo možné naprogramovat mnohem rychleji – v podstatě jste mohli program sestavovat už ve chvíli, kdo počítač řešil jinou úlohu. Jak konstatovala Hopperová, u ENIACu jste jeho zapojením v podstatě sestavili pro každou novou úlohu nový počítač. To opravdu nebylo moc efektivní a například knihovna základních funkcí zde existovala pouze hardwarová, takže ji nebylo možné doplňovat.

 

Za vývojem programování na počítačích ENIAC a Mark I stály ženy

 

Nicméně, nakonec se i na ENIACu podařilo vytvářet nějaké ty podprogramy a to díky skvělé šestici ženských programátorek pod vedením Jean Jenningsové. Ano, je to dnes, v době mužského převzetí tohoto řemesla, asi nepochopitelné, ale za zrozením programování jak na ENIACu, tak na Mark I, stály ženy.

Nicméně, v této době už Hopperová pracovala na dalším počítači, výkonnějším Mark II. Zde pak tým pod jejím vedením obohatil programátorskou terminologii o pojem „debugging“ – jednou v noci totiž počítač zkolaboval a při zkoumání problému byla v jednom elektromechanickém relé objevena obrovská můra o rozpětí téměř 10 cm, která je svým spečeným tělíčkem zkratovala. Od té doby přikazovala Hopperová týmu, aby každý program „debuggoval“, tedy odstranil hmyz. A to se ujalo.

32 komentářů

Diskuze

  • adblocker20155 , 19. 11. 2015 3:29:38
    Pěkná ženská, líbí se mi ;-)
  • vzach , 18. 11. 2015 22:20:46
    Jak je to vlastně s tou srozumitelností COBOLu v porovnání s jinými...
  • dpcstb , 18. 11. 2015 21:33:38
    grasshopper? :-))

Určitě si přečtěte


Pokémon Go pro pokročilé: odhalte skutečný potenciál svých Pokémonů

Pokémon Go pro pokročilé: odhalte skutečný potenciál svých Pokémonů

** Ke hře Pokémon Go můžete přistoupit i více analyticky ** Za pomocí speciálního algoritmu můžete zjistit skutečný potenciál svých Pokémonů

22.  7.  2016 | Tomáš Holčík | 53

5 nástrojů, které pomohou vyhledat zapomenuté licenční klíče k softwaru

5 nástrojů, které pomohou vyhledat zapomenuté licenční klíče k softwaru

**Pokud ztratíte krabici od Windows nebo Office, lze vydolovat licenci ze systému ** Aplikace dokážou zjistit klíče až osmi tisíc programů ** Základem je schopnost uložit všechny klíče do souboru

23.  7.  2016 | Stanislav Janů | 15


Aktuální číslo časopisu Computer

Testy nejnovějších produktů na českém trhu.

Informace ze světa internetu i bezpečnosti.

Plné verze programů zdarma pro všechny čtenáře.