Klávesové zkratky na tomto webu - základní­
Přeskočit hlavičku portálu


Programátorské umění se ztrácí, potvrzuje výzkumnice Microsoftu. Kóduje i pro radost

aktualizováno 
Judith Bishopová patřila k vůbec prvním studentkám a profesorkám informatiky. Když začínala, na výsledky programu se čekalo i několik týdnů. Nyní, po více než třiceti letech, jsou podle ní nové technologie všudypřítomné. Umění programátorsky myslet se ale stále cení.

Profesorka Judith Bishopová, ředitelka informatiky pro externí výzkum Microsoftu | foto: Microsoft

Profesorka Judith Bishopová se věnuje programovacím jazykům už přes třicet let. Napsala první učebnici jazyka Java a zabývá se koordinací výzkumu v rámci Microsoftu a předních světových univerzit. "Je to taková role seznamovače," směje se. Kromě toho se nadále věnuje informatice z vědeckého hlediska a své studenty učí efektivnímu, promyšlenému, elegantnímu programování: "Kód musí být krátký a přehledný. Jestli v kódu potřebujete komentáře, abyste se v něm vyznali, děláte něco špatně."

Nové technologie mají podle ní dopad na celou stpolečnost, zvláště na rodinu: "Chceme si naplnit domovy technologiemi až po okraj a pak už se nám nechce chodit ven, mimo dosah elektřinou zajištěného pohodlí." Přesto je optimistka a věří, že by se děti měly s novými technologiemi učit co nejdříve, pokud možno v souvislostech.

Dobrodružné začátky informatiky

Profesorka Judith Bishopová si na mě udělala čas v rámci své krátké návštěvy českých univerzit. V budově firmy Microsoft jsme měli jen necelých dvacet minut času, a tak to vypadalo na spěšné interview. Ovšem klidný výklad profesorky Bishopové dal na spěch brzy zapomenout. Místo toho mě vzala k předinternetovým začátkům informatiky, kdy se na výstup jednoduchého programu někdy čekalo i několik týdnů.

Programování se věnujete už několik desetiletí. Popsala byste nám svou kariéru?
Pracuji jako ředitelka informatiky pro externí výzkum společnosti Microsoft, pracoviště máme v americkém Redmondu. Pro Microsoft pracuji necelý rok, ale profesorkou informatiky jsem mnohem déle, už 31 let. Měla jsem to štěstí, že jsem se ocitla v úplně první vlně studentů,

Když chci relaxovat, tak si někdy jen tak pro radost programuju.

kteří informatiku studovali. Rozvoj informatiky jsem tedy sledovala prakticky od jejích úplných začátků. A to mi umožnilo jak pozorovat změny, kterými informatika prošla, tak zůstat v kontaktu a udržet si přehled o tom, co se na poli informatiky děje.

Programování je mojí vášní. Vytváření kódu zkrátka miluju. Někdy, když přijdu unavená domů, tak relaxuji právě tak, že programuju něco, co mne baví. Myslím, že tohle zaujetí mne asi nikdy neopustí.

Kdy jste se poprvé dostala k počítačům?
Když jsem byla na střední, tak si místní univerzita pořídila počítač. Samozřejmě, že to byl obrovský stroj, umístěný ve speciálním sále za sklem. A jednou za rok, na den otevřených dveří, sál otevřeli pro veřejnost. Byla jsem naprosto unešena - počítačem samotným i tím, co umožňuje. Rozhodla jsem se, že to je to pravé pro mě. Prostě jsem cítila, že do toho musím proniknout.

Jaké byly úplné začátky studia informatiky?
Když se studijní program rozbíhal, bylo nás v ročníku velmi málo. A je zajímavé, že celou třetinu studentů v mojí třídě tvořily dívky. A vlastně i v první třídě, kterou jsem na konci 70. let učila, to bylo kolem jedné třetiny. Teprve později začali v tomto odvětví dominovat muži.

To je zajímavé, já bych odhadoval, že podíl žen v tomto odvětví naopak postupně stoupal…

Zpočátku bylo v informatice více žen...

Ne, dříve bylo v informatice více žen. Ten důvod byl, že vláda (v Jižní Africe) určila informatiku jako předmět pro střední školy. Ženy se často hlásily na podobor "učitelství informatiky", který vláda podporovala. Později tento projekt vymizel. A tak se postupně změnila i struktura studentů.

Další faktor, který mne napadá, je, že informatika se (zvláště pro studenty) hodně propojila se světem počítačových her. A počítačové hry byly svým zaměřením dlouho orientované především na kluky, byla to taková střílečková éra. To ženy nezajímalo.

Jaká hra by byla příhodnější pro muže i ženy?
Nemůžu mluvit za všechny ženy, ale já, když už hraji hry, tak jsou to třeba vědomostní hry, hlavolamy, kvízy, deskové hry… Nevyužívám tedy grafické schopnosti počítače, jako spíše jeho schopnost pracovat s databází a algoritmy. Mám ráda třeba Travelers‘ IQ Test (viz článek o zeměpisných hrách, pozn.red.), objevováním různých míst po světě jsem onehdy strávila snad celý den. Vylepšila jsem si skóre tak, že jsem překonala skoro všechny svoje přátele, ale pak jsem raději přestala, protože jsem své přátele nechtěla ztratit… (smích) Je to návykové.

Zmínila jste, že si všímáte rozdílů mezi informatikou v 70. letech a informatikou dnes. V čem spočívají?
Když jsem s informatikou začínala, pracovala jsem s lidmi, kteří jsou dnes v oboru legendami. Maurice Wilkes a další. Jezdila jsem s nimi na konference. Byl to malý obor, informatiků bylo jen pár. Každý znal každého, a mohl jste s kýmkoli mluvit. Vlastně, a to je důležité, musel jste s ostatními mluvit!

Nesmíme zapomínat, že tehdy ještě neexistoval internet, nebyl e-mail. Takže když jsem pracovala na svojí diplomové práci, kterou jsem obhajovala roku 1977, potřebovala jsem nějaká data od kolegy v Austrálii. A abych se k nim dostala, musela jsem mu napsat dopis s kódem. A on pro mne ten kód spustil na počítači, ke kterému měl přístup, a zaslal mi výstup, opět dopisem. To vše poštou mezi Anglií a Austrálií.

Tomu říkám dlouhý ping (round-trip time, pozn. red.)...
Ano, to tedy byl. Ale bylo to v pořádku, zkrátka s tím člověk musel počítat a věci si dobře naplánovat. V době, kdy jsem čekala na výsledky, jsem zase pracovala na něčem jiném.

Nebyl e-mail, nebyl web, akademický život vypadal jinak. Ale měli jsme konference, kde jsme se setkávali a debatovali. V té době přišel na scénu programátorský jazyk BASIC, pak PASCAL. Turbo Pascal posléze zkombinoval BASIC s podporou snadného terminálového přístupu a PASCAL s jeho vynikající strukturovaností.

Pak nastoupila Ada, programovací jazyk navržený pro ministerstvo obrany. Byl to spíše příklad toho, jak by se programovací jazyk neměl navrhovat, ale všichni jsme s Adou ztratili obrovské množství času… A to už se začal rozšiřovat internet, a lidé mohli probírat tyto problémy on-line.

Chronologie programovacích jazyků

Některé známé programovací jazyky a jejich časové zařazení:

1955 - FORTRAN - FORmula TRANslator, určený především pro výpočetní operace a věděcké účely, vyvinutý firmou IBM

1958 - Lisp - vyvinutý na MIT Johnem McCarthym

1959 - COBOL - COmmon Business-Oriented Language, vyvinutý Grace Hopperovou a později vyvíjený ve spolupráci s Pentagonem

1963 - CPL - Combined Programming Language, vyvinutý univerzitami v Cambridge a v Londýně, později tvořil základ jazyka C

1964 - BASIC - Beginner's All-purpose Symbolic Instruction Code, vyvinutý Johnem Georgem Kemenym a Thomasem Eugenem Kurtzem na Dartmouth College. Dnes je nejznámnějším klonem BASICu Microsoft Visual Basic, různé dialekty Basicu se používají v mnoha aplikacích, např. pro tvorbu maker v OpenOffice nebo Microsoft Office nebo v některých programovatelných kalkulačkách.

1970 - Pascal - populární strukturovaný programovací jazyk, jeho autorem je Niklaus Wirth

1972 - C, 1980 - C++ - asi nejznámější programovací jazyky, přezdívané "céčko", vyvinul Dennis Ritchie, respektive Bjarne Stroustrup v rámci Bell Labs

1981 - Turbo Pascal

1983 - Ada - jazyk navrhl Jean Ichbiah pro americké ministerstvo obrany, pojmenován je po první programátorce historie (Ada Lovelace)

1991 - Python, 1991 - Java, 1993 - Ruby, 1995 - PHP, 2000 - C#

zdroj: Wikipedia

Asi nejzajímavější období pro mne nastalo jedním srpnovým dnem roku 1997, kdy ředitel mého oddělení přišel ke mně do kanceláře a řekl: "Koukal jsem se na ten nový jazyk, Java. Myslím, že bychom to měli učit." A já říkám: "No dobře, dám ti zítra vědět, co si o tom myslím."

Přemýšlela jsem o tom, šla jsem domů a začala jsem mu psát dlouhatánský dopis, který shrnoval, proč si myslím, že není dobrý nápad se Javou zabývat. Museli bychom přeorganizovat kurzy, nebyly k dispozici žádné učebnice, neměli jsme žádné kompilátory - samé rozumné důvody, proč se jazyku Java vyhnout. A pak jsem celý ten dopis smazala, a druhý den jsem šéfovi řekla: "Jdeme do toho!"

Pustili jsme se do práce, Javu jsme začali učit jako první univerzita v zemi. Napsala jsem vůbec první učebnici Javy (Java Gently), sehnali jsme kompilátory, už ani nevím, kde. Přešli jsme na operační systém od Sunu. A byla to fantastická volba. Mohli jsme také konečně naplno využít internet, který byl v té době pořád relativně nový.

Myslím, že poučení, které jsem si z toho odnesla, zní: "Přijmi inovace!" Samozřejmě, že nesmíte zahodit to staré a osvědčené, ale zajímejte se o nové věci. Vždycky!

A teď, od července 2009, pracujete pro Microsoft. Když jste nastoupila, čekal Vás řád, chaos, úkoly…?
Asi bych měla říci, co mám v popisu práce. Vedu menší tým v rámci externího výzkumu Microsoftu ("Core Computer Science") a jedním z mých úkolů je sledovat, co se děje v rámci stovek oblastí, jejichž výzkumem se Microsoft zabývá, a koordinovat spolupráci Microsoftu s předními univerzitami u USA i ve světě. Také obcházím konkrétní lidi z výzkumů i univerzit a informuji je o nových poznatcích a technologiích. "Víte o tomto trendu? Hodil by se do vašeho výukového plánu? Můžeme vám pomoci jej implementovat?" A stejně tak zjišťujeme, na čem pracují univerzity: "To je zajímavé, myslím, že vás můžu představit někomu v Microsoftu a můžete rozvinout spolupráci na tomto projektu…" Je to taková role seznamovače.

Začala jsem ve Spojených státech, ale uvědomujeme si, že Microsoft je a má být společností s globálním přesahem. První region, do kterého jsem se vydala, je střední Evropa. Kromě Česka navštívím také Polsko a Maďarsko.

Já i mí nadřízení víme, že je zde informatika silným odvětvím, a chceme jej blíže prozkoumat. Víme také, že místní univerzity nejsou k produktům Microsoftu nepřátelské a naše produkty hojně využívají.

Jaké univerzity chovají vůči produktům Microsoftu averzi?
Některé významné americké univerzity jsou vysloveně odmítavé. Ve Spojených státech to tak občas je. Preferují open-source technologie nebo heterogenní platformy.

Profesorka Judith Bishop působí na Univerzitě v Pretorii a také u Microsoftu

Profesorka Judith Bishop působí na Univerzitě v Pretorii a také u Microsoftu

Jak se změnilo programování za poslední roky?
Myslím, že je potřeba rozlišit programování z hlediska architektury a programování z hlediska programovacího jazyka. Já se zabývám tím jazykem. Co se změnilo za posledních 30 let, je příchod celého odvětví - softwarového inženýrství. Nyní jsou k dispozici nástroje, modely a technologie k programování na vyšších úrovních. To, který programovací jazyk použijete, přestává být relevantní.

To, jaký programovací jazyk použijete, už není v době softwarového inženýrství tak důležité, jako dřív.

Skládáte kousky, program navrhujete v modulech a na samotný kód dojde až v druhé nebo třetí řadě. Studenti to tak asi nevidí, protože při studiu vidíte jen malé jednotlivé kousky, na kterých se učíte programovat. Ale když v programování podnikáte, jste o několik vrstev výše, a pak už zase nemusíte vidět ty jednotlivé dílky.

Ale vývojáři ty dílky samozřejmě vidět musejí, vždyť je kódují. Vývoj kódu je často redundantní - když se vývojář izoluje, tak nevidí, že by mohl použít již hotový kód, který vytvořil jeho kolega třeba v rámci stejné firmy. Už dávno, asi v roce 1989, přišly tzv. návrhové vzory, určité obecné řešení problému, které se může používat v různých situacích. Programátoři se od té doby učí napodobovat dobré zvyky a způsoby programování, což urychluje vývoj a zároveň usnadňuje spolupráci. V mojí poslední knize (C# Design Patterns) právě ukazuji poslední trendy návrhových vzorů u novějších jazyků.

Příkladem takového návrhového vzoru je třeba "observer pattern" (observe = sledovat). Máte dva objekty a jeden objekt potřebuje vědět, kdy se změnila vlastnost druhého objektu. A tak objekt A řekne objektu B: "Když se něco změní, dej mi vědět." A pak jej nemusí kontrolovat, protože až bude čas, B se sám ozve. Jsou dobré a špatné způsoby, jak toho docílit.

Špatný způsob by byl třeba pravidelná kontrola objektu B v nějakém intervalu, že?
Přesně tak, to by byla katastrofa. Objektové programovací jazyky mají speciální mechanismy, které tento problém řeší elegantně a "správně".

Má každý programovací jazyk možnost použít správné řešení, správný návrhový vzor?
Ano, někdy to může být tak, že ten který návrhový vzor nelze v daném jazyce úplně uplatnit. Obvykle je to ale tak, že programátoři jej akorát neodhalili nebo jej nepoužívají, nevědí o něm. Proto jsou učebnice návrhových vzorů tak důležité. Promýšlejí ten správný způsob a ukazují cestu.

Nemáte pocit, že se programátorské umění ztrácí a na místo kódování a ladění nastupuje slepování a kombinování?
Do značné míry tomu tak je. Dnes jsou k dispozici různé způsoby programování. I pro "uživatelsky přívětivé programování" je tu místo. Další užitečnou aplikací je "rapid prototyping" (rychlé vytváření prototypu aplikace), a to má své nenahraditelné místo v časných fázích projektu.

Ale co když někdo zůstane u toho funkčního prototypu a už jej neodladí a neoptimalizuje?
Ano, ale tak tomu je v mnoha disciplínách. I dům můžete postavit narychlo, nebo promyšleně.

Neil Postman ve své knize Technopoly ukazuje, že technologie mění naše životy nečekanými způsoby a přináší společenskou změnu. Vy jste měla možnost sledovat nástup počítačů velmi zblízka. Jaké myslíte, že mají počítače na člověka a společnost vliv?

Člověk ztrácí svou přirozenost, raději zůstává v pohodlí domova.

Technologie skutečně naše životy výrazně tvaruje. A myslím, že tu je velký tlak na rodiny, a především na mladé lidi. Existuje tu jakási touha naplnit si dům technologiemi až po okraj, a člověk v takto přetechnologizovaném prostředí ztrácí schopnosti používat svoje smysly přirozeným způsobem, zvláště mimo dům. A tak zůstáváme více uvnitř, kde nám slouží elektřina.

Děti nejdou jezdit na koni, rybařit, nebo zkrátka na výlet. Pohodlnější je zůstat doma u konzole…

Jsem si jistý, že Xbox nabízí nějakou rybářskou hru...
Ano, nepochybně. A nechci kritizovat hry obecně, ale je to každopádně významná změna.

Mladí lidé a počítače, k tomu chci ještě něco dodat z pohledu profesorky informatiky. Současná počítače jsou tak komplexní, a problémy, které řešíme, tak spletité, že si myslím, že by měly být děti vystavené informačním technologiím poměrně brzy. To ale neznamená jen internetovou zábavu, to znamená učit se chápat fungování počítačových systémů.

Dovedu si představit, že to dnešní rodiče mají těžké. Jejich šestileté dítě možná umí s počítačem více věcí, než oni… Jak mohou rodiče vůbec působit jako autority v oblasti informačních technologií?
Je to pro rodiče rozhodně těžké. Mohou zkusit spolehnout se na školy, ale mnoho škol s nedostatkem kvalifikovaných učitelů zápasí zrovna tak. Microsoft ví, že tohle je problém… (zarazí se) Asi bych měla mluvit více o Microsoftu, viďte? (smích)

Dobře, tak něco o Microsoftu. Hodně se mluví o cloud computingu (např. serverovém zpracování a uchování klientských dat on-line, pozn. red.). V samých začátcích počítačů tu byl obrovský počítač, ke kterému se připojovaly terminály. Pak se přešlo na osobní počítače, a teď se oklikou vracíme znovu k modelu server-terminál. Jaký je Váš náhled na tento trend?
Ano, cloud computing má rozhodně budoucnost. A velké společnosti jako Microsoft berou tento trend velice vážně. Než se ale cloud computing může stát veřejně využitelným, musí být k dokonalosti dotaženy dvě věci.

Tou první je rychlá, nepřetržitá dostupnost. Udává se, že reakce by neměla přesáhnout 0,15 vteřiny pro milion zároveň připojených uživatelů.

Uživatelé považují spolehlivost za samozřejmost, ale pro nás jsou to statisíce řádků kódu, který musíme otestovat.

Druhou je vysoká spolehlivost. Na této spolehlivosti pracuje Microsoft ve svém výzkumném středisku v Cáchách. Musím říci, že jejich výsledky jsou výborné. Nástroj zvaný Hypervisor zajišťuje, že běžící program neovlivní běžící programy někoho jiného. To je nesmírně důležité. Tahle spolehlivost je pro koncového uživatele něco samozřejmého, jako něco, co prostě Microsoft udělá. A my to samozřejmě splníme, ale je to sto tisíc řádků kódu, které je potřeba otestovat a ověřit.

Co vás na programování fascinuje?
Dvě věci. Dosáhnout cíle, tedy funkčního kódu, a pak také eleganci. Někdy programuji se svými syny, oba po mně zdědili onen elegantní kód (smích). Když programuji se studentem, což často dělám, a on se dopouští prohřešků proti eleganci, vždycky mne to rozladí.

V čem taková elegance spočívá?
Kód musí být stručný a krátký, to je vždy dobré znamení. Ale nesmí být kryptický a nečitelný. Takže elegantní kód je krátký a přehledný. Třídy a funkce musejí mít své místo, neměly by si lézt do zelí, vše musí jasné. Málokdy používám ve svém kódu komentáře. Myslím, že nutnost komentáře ukazuje, že samotný kód je nejasný.

Co byste vzkázala studentům, především studentům informatiky?
Pokud vás baví, co děláte, vybrali jste si správnou profesní dráhu. Pokud si to neužíváte, tak byste možná měli zvážit jinou kariéru. Informatika není jen nějaký přívažek, je to něco, co musíte prožívat bytostně. Něco, co žije ve vaší hlavě bez ustání. Informatice musíte upsat duši.

Autor:




Hlavní zprávy

Další z rubriky

Tipy a triky pro Windows 10
Tipy a triky pro Windows 10: jak se znovu dostat k Ovládacím panelům

Nainstalovali jste si aktualizaci Creators Update a nemůžete najít Ovládací panely? Víme, kde je najdete. Ukážeme si také, jak vyvolat příkazovou řádku při...  celý článek

Tablet pro práci i zábavu
Aplikace pro tablety: zjistěte, co měří senzory, nebo upravujte fotky

Zajímavá aplikace zobrazí informace ze senzorů mobilního zařízení, jiná nahraje obsah obrazovky nebo aplikaci s bohatou nabídkou fotek a obrázků na pozadí...  celý článek

Kit Harington jako Jon Snow. Záběr ze sedmé série seriálu Hra o trůny
Hackeři napadli televizi HBO, ukradli i scénář Hry o trůny

Kabelová televize HBO v pondělí informovala, že hackeři ukradli některá její data týkající se programu vysílání. Server týdeníku Entertainment Weekly napsal,...  celý článek

Najdete na iDNES.cz



mobilní verze
© 1999–2017 MAFRA, a. s., a dodavatelé Profimedia, Reuters, ČTK, AP. Jakékoliv užití obsahu včetně převzetí, šíření či dalšího zpřístupňování článků a fotografií je bez souhlasu MAFRA, a. s., zakázáno. Provozovatelem serveru iDNES.cz je MAFRA, a. s., se sídlem
Karla Engliše 519/11, 150 00 Praha 5, IČ: 45313351, zapsaná v obchodním rejstříku vedeném Městským soudem v Praze, oddíl B, vložka 1328. Vydavatelství MAFRA, a. s., je členem koncernu AGROFERT.