čtvrtek 22. listopadu 2012

Proč pracovat složitě…

Grace Murray Hopper
9.12. 1906 New York – 1.1. 1992 Arlington, Virginia .

Do pomyslné počítačové síně slávy patří mnoho osobností, jednou z nich je Grace Murray Hopper - matematička a programátorka.

Otec Grace Walter Fletcher Murray měl povolání, jehož vykonavatelé inspirovali Bohumíra Hrabala ke psaní jeho ironií – ano, byl pojišťovací agent. Nakonec, je jedno, čím jsou rodiče, hlavní je, že Grace milovali a umožnili jí věnovat se exaktním vědám, které byly nutným základem pro její budoucí programátorskou práci.
V roce 1923 nastupuje do dívčí Vassar College. Za pět let zde získala titul bakaláře matematiky a fyziky a v roce 1930 na Yale University dokončila magisterská studia matematiky. Následně se vdala za Vincenta Hoppera a začala učit na Vassaru. V roce 1934 se stala první ženou, která na Yale University obhájila doktorskou práci z matematiky.
Pak následovala léta přednášení na universitách, cest po mezinárodních konferencích, publikování v prestižních časopisech… v roce 1940 začala uvažovat o radikální změně svého života, rozešla se s manželem a přihlásila se do armády. Konkrétně k námořnictvu, kam jí nakonec v roce 1943 skutečně i přes její zdravotní potíže, vzali - potřebovali totiž pro oddělení balistických výpočtů při Harvardské universitě, dobrého matematika.
Tímto její cesta k programování končí, stala se jednou ze tří programátorů elektromechanického počítače MARK I (projekt Harvardské univerzity pod vedením Howarda Aikena, dokončený v roce 1944).
Během 2.světové války se Grace "společně" s počítačem zabývala výpočty pro balistické tabulky.Válka skončila, ale Grace v armádě zůstala. MARK I až III se stal její jedinou "láskou".

Filosofie Grace Hopper jako programátorky byla od začátku jasná - co nejvíce ulehčit práci dalším programátorům a zjednodušit komunikaci s počítačem. Na základě této myšlenky vytvořila základy teorie automatizace programování.
Při práci na balistických tabulkách si Grace jako první uvědomila, že není nutné pro každý výpočet psát znovu celý program a začala si ukládat ty části programu, které se neustále opakovaly - tak se zrodil nápad podprogramů. První byl použit pro počítač MARK I v roce 1944, jednalo se o výpočet sin(x) (ovšem pojem podprogram zavedl později až Angličan Maurice Wilkes). Práci lidí tímto nejen ulehčila, ale i velmi zrychlila - hotové části programů už byly odladěné a bez chyb a vojáci tak dostávali potřebné propočty rychleji. Byl to její přínos k vítězství spojenců nad fašismem a start k vojenské slávě, protože od této doby začalo její hodnostní stoupání, které skončilo až ve velmi pozdním věku čestným postem kontraadmirála.

V roce 1949 přešla jako starší matematik do firmy Eckert-Mauchly (později známou jako korporace Remington Rand a ještě později jako Sperry Rand), která se zabývala vývojem prvního elektronického počítače ENIAC. Grace zde byla pověřena vytvořením programu pro komerční počítač UNIVAC-1.
V duchu své programátorské filosofie i nadále přemýšlela, jak zjednodušit programování. Napadlo ji,, že nejlepší bude vytvoření programu, který by přeložil instrukce z vyššího jazyka do strojového kódu.
První krok k této její myšlence učinil v roce 1949 John Mauchly svým programem Short Code určeným pro zadávání rovnic, takže převáděl matematické výrazy do strojového binárního kódu. Ona na tento nápad navázala a vytvořila "A-0 compiler" (rok 1951). Tento kompilátor neustále zdokonalovala ve verzích А-1, А-2, А-3.
Dalším splněným bodem v cestě za jednoduchostí programování byl program AT-3. Jednalo se o programovací jazyk, který v sobě obsahoval i kompilátor. Po dalších vylepšeních tento program pro komerční účely dostal jméno MATH-MATIC (1954) a byl prodáván s počítačem UNIVAC-1.
AT-3 byl opravdu svým pojetím revoluční, Grace totiž poprvé v historii programování použila normální slova. Bylo jich sice jen kolem 30 a byla jednoduchá, tím pádem také dobře zapamatovatelná - například add , compare, transfer… Pro překladač do binárního kódu byla důležitá první tři písmena, která byla pro každé ze slov originální a ostatní písmenka ve slovech ignoroval.
V roce 1956 byl tento program definitivně dokončen pod jménem B-0 a v roce 1958 je prodáván jako FLOW-MATIC. Je to první program zpracovávající komerční data.
V roce 1959 se stala členkou týmu, který měl za úkol vypracovat jazyk vhodný pro komerční zpracovávání dat - jednalo se o dodnes používaný COBOL (Common Business Oriented Language). Jako základ tohoto jazyku dokončeného v roce 1961 byl vzat právě FLOW-MATIC.

Grace ve roce 1966 odchází do důchodu, ale po roce je znovu povolána do armády jako hlavní systémový analytik vojenské námořní flotily a je s ní uzavřena "doživotní smlouva". Ještě dvacet let zůstává v armádě, programuje, učí studenty i vojáky matematiku a zaslouženě dostává vysoká armádní, státní i vědecká ocenění.
V osmdesáti letech definitivně odchází do penze, ale pracuje dál jako hlavní konzultant ve firmě Digital Equipment. V této funkci jezdí po světě a popularizuje matematiku a programování bez nadsázky, skutečně až do své smrti.

Její jméno se znovu objevilo v roce 1996 - to byla na počest kontraadmirálky po ní pojmenována válečná loď USS Hopper (DDG 70).

Jistě víte:
K počítači MARC II se váže příhoda týkající se vzniku slangového výrazu - debugging - ladění. Byl horký letní den a počítač nějak "zlobil", zjistilo se, že do něj zaletěla můrka. Grace pinzetou motýlka vytahovala a právě v tom okamžiku do místnosti věšel nějaký důstojník, aby se zeptal co dělají. Odpověděli mu, že odhmyzují počítač a výraz pro hledání chyb v počítači i programu byl na světě.



Žádné komentáře:

Okomentovat