abclinuxu.cz AbcLinuxu.cz itbiz.cz ITBiz.cz HDmag.cz HDmag.cz abcprace.cz AbcPráce.cz
Inzerujte na AbcPráce.cz od 950 Kč
Rozšířené hledání
×
    dnes 04:55 | Nová verze

    OpenJS Foundation, oficiální projekt konsorcia Linux Foundation, oznámila vydání verze 22 otevřeného multiplatformního prostředí pro vývoj a běh síťových aplikací napsaných v JavaScriptu Node.js (Wikipedie). V říjnu se verze 22 stane novou aktivní LTS verzí. Podpora je plánována do dubna 2027.

    Ladislav Hagara | Komentářů: 0
    dnes 04:22 | Nová verze

    Byla vydána verze 8.2 open source virtualizační platformy Proxmox VE (Proxmox Virtual Environment, Wikipedie) založené na Debianu. Přehled novinek v poznámkách k vydání a v informačním videu. Zdůrazněn je průvodce migrací hostů z VMware ESXi do Proxmoxu.

    Ladislav Hagara | Komentářů: 0
    dnes 04:11 | Nová verze

    R (Wikipedie), programovací jazyk a prostředí určené pro statistickou analýzu dat a jejich grafické zobrazení, bylo vydáno ve verzi 4.4.0. Její kódové jméno je Puppy Cup.

    Ladislav Hagara | Komentářů: 0
    včera 22:44 | IT novinky

    IBM kupuje společnost HashiCorp (Terraform, Packer, Vault, Boundary, Consul, Nomad, Waypoint, Vagrant, …) za 6,4 miliardy dolarů, tj. 35 dolarů za akcii.

    Ladislav Hagara | Komentářů: 8
    včera 15:55 | Nová verze

    Byl vydán TrueNAS SCALE 24.04 “Dragonfish”. Přehled novinek této open source storage platformy postavené na Debianu v poznámkách k vydání.

    Ladislav Hagara | Komentářů: 0
    včera 13:44 | IT novinky

    Oznámeny byly nové Raspberry Pi Compute Module 4S. Vedle původní 1 GB varianty jsou nově k dispozici také varianty s 2 GB, 4 GB a 8 GB paměti. Compute Modules 4S mají na rozdíl od Compute Module 4 tvar a velikost Compute Module 3+ a předchozích. Lze tak provést snadný upgrade.

    Ladislav Hagara | Komentářů: 0
    včera 04:44 | Nová verze

    Po roce vývoje od vydání verze 1.24.0 byla vydána nová stabilní verze 1.26.0 webového serveru a reverzní proxy nginx (Wikipedie). Nová verze přináší řadu novinek. Podrobný přehled v souboru CHANGES-1.26.

    Ladislav Hagara | Komentářů: 0
    včera 04:33 | Nová verze

    Byla vydána nová verze 6.2 živé linuxové distribuce Tails (The Amnesic Incognito Live System), jež klade důraz na ochranu soukromí uživatelů a anonymitu. Přehled změn v příslušném seznamu. Tor Browser byl povýšen na verzi 13.0.14.

    Ladislav Hagara | Komentářů: 0
    včera 04:22 | Nová verze

    Byla vydána nová verze 30.0.0 frameworku pro vývoj multiplatformních desktopových aplikací pomocí JavaScriptu, HTML a CSS Electron (Wikipedie, GitHub). Chromium bylo aktualizováno na verzi 124.0.6367.49, V8 na verzi 12.4 a Node.js na verzi 20.11.1. Electron byl původně vyvíjen pro editor Atom pod názvem Atom Shell. Dnes je na Electronu postavena celá řada dalších aplikací.

    Ladislav Hagara | Komentářů: 2
    včera 04:11 | Nová verze

    Byla vydána nová verze 9.0.0 otevřeného emulátoru procesorů a virtualizačního nástroje QEMU (Wikipedie). Přispělo 220 vývojářů. Provedeno bylo více než 2 700 commitů. Přehled úprav a nových vlastností v seznamu změn.

    Ladislav Hagara | Komentářů: 0
    KDE Plasma 6
     (72%)
     (9%)
     (2%)
     (17%)
    Celkem 741 hlasů
     Komentářů: 4, poslední 6.4. 15:51
    Rozcestník

    John Warnock (Programmers at Work)

    4. 6. 2008 | Tomáš Znamenáček | Rozhovory | 3803×

    John Warnock je známý především jako spoluzakladatel firmy Adobe Systems. Warnock a Charles Geshchke napsali pro Adobe tiskový jazyk PostScript, který vycházel z jazyka InterPress. Na tom pracoval spolu s Geschkem v laboratoři Xerox PARC (Palo Alto Research Center).

    Programmers at Work je kniha 19 rozhovorů s významnými programátory, kteří svou prací a myšlenkami tvarovali podobu dnešních operačních systémů a mnoha dalších aplikací. Ačkoliv vyšla již v roce 1986, rozhovory jsou z velké míry nadčasové a stále velmi zajímavé. Susan Lammers se po více než 20 letech od prvního vydání knihy rozhodla zveřejnit rozhovory na Internetu a dala AbcLinuxu.cz souhlas k jejich překladu a vydání. Kvůli jejich délce bude většina rozhovorů rozdělena na dva díly. Každý rozhovor doplníme o krátký dodatek, ve kterém budou shrnuty další osudy jednotlivých programátorů.


    John Warnock, Programmers at Work

    John Warnock se narodil v roce 1940 v Utahu, kde také vyrůstal. Na univerzitě v Utahu získal bakalářský a magisterský titul z matematiky a doktorát z informatiky. Na informatiku přešel v době, kdy Dave Evans na univerzitě založil slavnou skupinu pro výzkum a vývoj, která měla za úkol studovat interaktivní design a počítačovou grafiku. Po skončení svých studií zkusil na krátkou dobu štěstí jako podnikatel ve Vancouveru v Britské Kolumbii a pak se přidal k firmě Computer Sciences of Canada a pracoval v Torontu. Poté se přesunul do Washingtonu, kde byl zaměstnán v Goddardově vesmírném leteckém centru.

    V roce 1972 se přestěhoval do Kalifornie, aby společně s Davem Evansem a Ivanem Sutherlandem pracoval na projektu Illiac IV, vesmírném simulátoru NASA, a leteckých simulátorech. Roku 1978 odešel do firmy Xerox PARC, kde strávil čtyři roky v informatické laboratoři. Během své práce v Xerox PARC pracoval na zlepšení typografických možností počítačových monochromatických displejů. V roce 1982 založil společně s Charlesem M. Geshchkem firmu Adobe Systems, která měla vyvíjet software pro spojení textu s grafikou a technologie pro tvorbu dokumentů nezávislých na výstupních zařízeních. Výsledkem jejich úsilí a prvním produktem firmy Adobe Systems byl PostScript.

    Když se člověk v Palo Altu pustí po ulici Embarcadero, lemované špičkovými technologickými firmami, a vejde do kancelářské budovy firmy Adobe Systems, nemůže si nevšimnout firemního loga. Je obrovské a svítí jako zlato; poukazuje na nedávné úspěchy Warnockovy firmy. Stejně jako mnoho jiných, i Warnock odešel se svými nápady z Xerox PARC do skutečného světa, kde z nich udělal jazyk PostScript a firmu Adobe Systems. Se svým plnovousem a rozcuchanými hnědými vlasy John Warnock vypadá jako profesor. Chová se ale skromně a uvolněně. Měl na sobě tvídové sako, bílou košili s rozepnutým límečkem a vlněné kalhoty. Jeho rohová kancelář je působivá, s čistými liniemi a moderním vzhledem. Měla jsem dojem, že podobných návštěv musel Warnock od úspěchu své firmy zažít bezpočet. Zanaříkali jsme si navzájem, kolik času musíme trávit na cestách. Warnockovo programování se dnes omezuje na denní povinnosti s PostScriptem, ale přesto Warnock zůstává jedním z programátorských divů naší doby.

    Jaké to bylo ve výpočetním centru utažské univerzity, když jste tam v šedesátých letech pracoval?

    Velice zajímavé, protože Dave Evans, který byl tehdy v Berkeley, dostal od ARPA obrovský výzkumný a vývojový grant ve výši asi pěti miliónů dolarů ročně na interaktivní design a počítačovou grafiku. Podařilo se mu přilákat Ivana Sutherlanda, Toma Stockhama a několik dalších výborných profesorů, aby s ním pracovali. Katedra informatiky se téměř přes noc vyšvihla z průměru na špičku a já jsem přešel z matematiky na informatiku.

    Pro výpočetní centrum, které slouží celému zbytku univerzity, jsem pracoval už na katedře matematiky – psal jsem systém pro registraci studentů. Jednoho dne se za mnou v práci zastavil student Davea Evanse a říká: „Páni, snažím se hnout s tímhle hledáním skrytých povrchů [hidden-surface], nemohl bys mi s ním poradit?“ Já jsem odpověděl, že by se to muselo dělat nějak takhle, nakonec jsem se do toho zabral a své řešení i naprogramoval. Moje řešení bylo o několik řádů rychlejší než všechna dosavadní. Katedra informatiky si mě okamžitě přetáhla, zčistajasna jsem se stal součástí jejich týmu a přednášel jsem po celé zemi o své práci na hledání skrytých povrchů a řešení, které jsem napsal.

    Sutherland, který v roce 1963 napsal Sketchpad, přinesl do této nové skupiny řadu nových nápadů z mnoha oborů. Skupina byla velice talentovaná a během krátké doby se jí podařilo odvést ohromné množství práce. Pochází z ní například Ed Catmull, který se později stal ředitelem společnosti Lucasfilm, a Jim Blinn, který dělá všechny ty fantastické průlety kolem Jupitera. Byl tam Martin Newell, který později pracoval pro Xerox PARC a dnes je ve firmě CAD Link. Alan Kay, jeho učitel Bob Borton a Patrick Boudelier, který dělal hodně výzkumu pro PARC, ti všichni také pochází z Utahu. Nějakou dobu byl v Utahu Bob Taylor a také Henry Fuchs. Většina z nich studovala u Davea Evanse. Bylo to něco mimořádného. Když se podíváte zpátky, zjistíte, že práce této malé skupiny lidí v Utahu umožnila vznik všech počítačových efektů ve filmech Lucasfilm vyráběných u Digital Productions a ve většině dnešních televizních reklam.

    Hodně Evansových studentů se pustilo do návrhu systémů. Co podle vás dělá dobrého systémového designéra?

    Talentovaných designérů je velice málo. Někteří lidi vyčnívají v tom či onom, ale návrh systémů vyžaduje opravdový cit pro rovnováhu – je potřeba vzít pár možností tady a pár možností tam a spojit je tak, aby spolu dobře spolupracovaly. Hodně lidí navrhne algoritmus a kolem toho pak postaví systém.

    Kvalitní návrh systémů je spíše technická disciplína; jde o soubor kompromisů a vyvážených vztahů mezi různými komponentami systému. Umět dělat správné kompromisy a vyvažovat jednotlivé komponenty je podle mě při návrhu systémů to nejtěžší.

    Kdy vás poprvé napadlo udělat něco jako PostScript?

    PostScript začal v Evansových a Sutherlandových dobách, když jsme pracovali na přístavním simulátoru pro Námořní akademii. Měli jsme udělat digitální model newyorského přístavu s patnácti stovkami budov a skladů, všemi mosty a bójkami a zkrátka vším, kompletní krajinu. Simulátor měl ukazovat přístav tak, jak vypadá z můstku lodi. Pokud měl simulátor fungovat podle jejich zadání, potřebovali jsme gigantickou trojrozměrnou databázi a spoustu počítání v reálném čase.

    Na dokončení celého toho obřího projektu jsme měli rok. Byl to model v plných barvách, ve všech třech rozměrech. Řekli jsme si, že nejhorší možné řešení by bylo navrhnout databázi přesně podle potřeb simulátoru; svázat obojí příliš těsně dohromady. Rozhodli jsme se napsat textový soubor a překladač, který ho přeloží do podoby vhodné pro simulátor (ať už bude jakákoliv). Vůbec jsme ještě nevěděli, jak bude vypadat samotný simulátor.

    Takže jsme začali pracovat na gigantické textové databázi. Během digitalizace databáze a návrhu velkého trojrozměrného modelu se jasně ukázalo, že by se nám v textovém souboru místo statické struktury mnohem víc hodil nějaký jazyk. Nějaký hodně jednoduchý a rozšiřitelný jazyk, který se bude dobře parsovat. Zde se tedy objevila základní myšlenka PostScriptu – při vývoji jazyka pro trojrozměrnou grafickou databázi.

    Po práci s Evansem a Sutherlandem jste odešel do firmy Xerox PARC, je to tak? Jaké jsou vaše zkušenosti odtud?

    Velice zajímavé to bylo. Přišel jsem tam v roce 1978 a zůstal asi čtyři roky. V Xeroxu bylo několik politických frakcí. Jednu z nich tvořila skupina Mesa, která dříve pracovala na BPCL. Ta používala tradiční jazyky. A pak byla skupina, která se zabývala umělou inteligencí a používala Lisp.

    Já jsem pracoval v Taylorově informatické laboratoři. Osobně mám raději jazyky podobné Lispu, protože jsou interaktivnější a interpretované; mám rád interpretované prostředí. Ale jelikož jsem patřil do téhle skupiny, sáhnout po Lispu by byla politická sebevražda – prostě by mou práci ignorovali.

    Společně s Martinem Newellem jsme se rozhodli přepsat designerský systém E&S do Mesy. Nazvali jsme ho JaM, reimplementace nám zabrala asi tři měsíce a výsledkem byl interpretovaný jazyk, který se dal použít jako experimentální platforma pro řadu nových nápadů.

    Když se po několika letech obrazová laboratoř osamostatnila, JaM se začal používat jako hlavní vývojářský nástroj. Začali jsme do něj připisovat všechny možné grafické procedury pro obrazovky a tiskárny. Základní struktura jazyka se pak rozvinula do podoby Interpressu, což je tiskový protokol Xeroxu. A do třetice se stejná struktura implementovala jako PostScript. To všechno je v podstatě jeden jediný jazyk – deset nebo jedenáct let starý jazyk, který se za ta léta mockrát prověřil a znovu implementoval.

    Co vás přimělo, abyste se soustředil na tiskovou stránku PostScriptu?

    Především je dobré si uvědomit, že u tiskových jazyků hodně záleží na jednoduché syntaxi. PostScript je jako Forth, jeho syntaxe se velice jednoduše parsuje. Pokud chci komunikovat s nějakým jiným programem, stačí všechno hezky popořádku poslat po drátě a program na druhém konci to bez problémů zpracuje.

    Další pěknou výhodou jednoduché syntaxe je, že se programy v takovém jazyce dají snadno generovat pomocí jiných programů. Díky své přímočaré a jednoduché syntaxi byl tenhle jazyk přirozeným kandidátem na tiskový protokol – tedy alespoň pokud chcete procedurálně orientovaný tiskový protokol namísto statických datových struktur.

    Tiskový formát se statickými datovými strukturami navrhli pro PARC Bob Sproull a William Newman, říkalo se mu Press Format. Ale zjistili, že tenhle přístup se pro tisk moc nehodí. Když chtěli přidat nějakou novou funkci, museli v podstatě přepsat celý systém.

    My jsme měli za to, že rozšiřitelnost je jedna ze základních vlastností tiskového protokolu. Takže když potřebujete novou funkci, můžete ji postavit přímo pomocí prostředků samotného jazyka a nemusíte s ní počítat už při původním návrhu. Ono se těžko odhaduje, jaké funkce budou někdy v budoucnu potřeba.

    Takže Interpress byl dobrý kandidát na tiskový protokol. Společně s Chuckem jsme se snažili Xerox dva roky přimět k tomu, aby s Interpressem něco rozumného udělal. Časem ale začalo být zjevné, že ho Xerox v rámci praktického nasazení zlikviduje. Chtěli přidat některé nové funkce a naopak odebrat některé jiné, jenže takový výsledek by se špatně implementoval, udržoval i vysvětloval lidem. Měli jsme pocit, že kdybychom se toho mohli ujmout sami, přišli bychom s mnohem lepším produktem.

    V zásadě jsme vzali původní, čistý návrh a v několika ohledech ho rozšířili, aby se dal prakticky použít; a pak jsme se vrhli na tisk. Tisk jsme si vybrali, protože všechny tehdejší počítačové firmy se snažily přijít s tiskovými technologiemi a zuřivě investovaly do výzkumu a vývoje, aby dostaly na trh laserové tiskárny. Moc se jim ale nedařilo, většina produktů se nedala snadno přizpůsobit.

    Cítili jsme, že bychom mohli PostScript dobře prodat počítačovým firmám, protože byl nezávislý na výstupním zařízení. Vyhýbal se závislostem na konkrétních přístrojích, takže se firmy mohly svobodně pustit do nových technologií a nemusely měnit software. Věřili jsme tomu, že to je velké a dobře prodejné plus, a skutečně bylo. Zatímco ve zobrazovacích technologiích konkurujete zobrazovacím řešením všech ostatních firem a musíte brát ohled na operační systém, tohle byl krásný, čistý a oddělený kus trhu bez větších potíží.

    Jakým směrem se PostScript vyvíjí dnes?

    V oblasti tisku zřejmě ustrnul. Dnes podle mě má smysl přejít ke zobrazovacím systémům a přenést na pracovní stanice model, který už funguje na tiskárnách. Vzhledem k odlišným nárokům obrazovek se ale bude muset podstatně upravit. Některé operace garbage collectoru se budou muset výrazně zrychlit, u tiskáren se některé úkoly spojené se správou paměti neřeší. Zrovna na tom kódu pracujeme, pokračujeme tímhle směrem.

    Ještě pořád programujete?

    No rozhodně, téměř každý den. Má to velkou intelektuální hodnotu, je to zábava.

    Co programujete?

    Většinou něco v PostScriptu, obvykle jen nějakou složitější stránku nebo pomocnou funkci. Žádný vážnější systémový kód nedělám. Hodně se zabývám návrhem a podobnými věcmi, obecnou filosofií a směřováním a jak by se věci měly dělat. Nakonec ale ani pero do ruky nevezmu. Máme na to lidi, kteří jsou mnohem lepší než já; je mnohem jednodušší dát hlavy dohromady.

    Píše se vám kvalitní kód lépe než před deseti nebo dvaceti lety?

    Nástroje jsou lepší. Programovací prostředí jsou lepší. Jazyky mají větší vyjadřovací schopnosti. Počítače jsou nesrovnatelně výkonnější než před deseti nebo dvaceti lety. Ale také si můžu víc vybírat, a to znamená víc příležitostí udělat chybu.

    Neusnadňují vám práci všechny vaše zkušenosti?

    To ano. Je to kompromis – zkušenosti za vitalitu, kterou jsem měl zamlada. Co jsem starší, už třeba nedělám tolik chyb, ale zase už nemám sílu se do toho pořádně opřít.

    Přistupujete dnes k psaní kódu jinak? Máte jiné metody? Plánujete si všechno předem?

    Než něco udělám, hodně přemýšlím. A když už něco udělám, nebojím se to zahodit. Je velice důležité, aby se programátor uměl na kus kódu podívat jako na špatnou kapitolu knihy a bez váhání ho zahodit. Nikdy se příliš nezaplést s jedním nápadem; nikdy se k ničemu zbytečně nevázat, aniž by to člověk nedokázal v případě potřeby zahodit. Tak by měli programátoři uvažovat.

    A dál by si člověk nikdy neměl myslet, že ví něco víc než ostatní. Pokaždé se objeví někdo chytrý, kdo přijde s lepším algoritmem nebo jednodušším řešením nějakého úkolu. Jedním z tajemství našeho řemesla je uvědomit si právě tohle včas, rychle to přijmout a těžit z toho, namísto aby se člověk cizího řešení bál a tvrdošíjně to zkoušel po svém.

    Jak se pozná dobrý program?

    Když dobrý program pustíte v profileru, jeho výkon je plochá křivka. Není v něm žádné slabé místo. Dobrý program je vyvážený program, který není napsaný kolem jednoho chytrého triku.

    Už jsem v oboru od roku 1963, takže programuji přes dvacet let. Když máte hodně zkušeností, nasbíráte za ty roky stovky algoritmů. Pamatujete si triky, které jste se naučili, pamatujete si chyby a pamatujete si slepé uličky. Pamatujete si všechny věci, které jste udělali špatně a které naopak fungovaly dobře. Je to jako vybírat ze švédského stolu jídla, která mají dohromady dát něco dobrého, abych tak řekl. Vyberete si něco dobrého tady a támhle a ve výsledku to bude chutnat jako granule pro psa. Aby dal člověk citlivým a chytrým způsobem dohromady jídlo, musí být dobrý kuchař. Aby dal stejným způsobem dohromady program, musí být dobrý programátor.

    Jak rozeznáte dobrého programátora od průměrného?

    Těžko. Obyčejný pohovor většinou nerozliší ani dobré programátory od špatných. Je to jako hledat spisovatele – na základě samotného pohovoru nepoznáte, jak ve skutečnosti píše. Ale pokud někdo napsal několik oceněných románů, hned máte o jeho talentu lepší představu. Takže většinu lidí nabíráme podle doslechu. Když jste v oboru delší dobu, seznámíte se s hodně lidmi. Pak můžete potřebného člověka najít podle jeho pověsti v oboru.

    Takže žádná pevná pravidla nejsou?

    Nikdy jsem na žádná nepřišel. V našem oboru je naprosto nepřeberný počet různých osobností a talentů. Někteří lidi výborně ovládají jeden způsob programování, další zase jiný. Je to jako rozdíl mezi psaním komedie a psaním dramatického románu.

    Kdy jste se začal o počítače a programování zajímat?

    Pokračování za dva dny...

    © Susan Lammers 1986–2008, přeloženo s laskavým dovolením autorky.

           

    Hodnocení: 90 %

            špatnédobré        

    Nástroje: Tisk bez diskuse

    Tiskni Sdílej: Linkuj Jaggni to Vybrali.sme.sk Google Del.icio.us Facebook

    Komentáře

    Vložit další komentář

    4.6.2008 11:55 BLEK.
    Rozbalit Rozbalit vše chybička
    V našem oborů je naprosto nepřeberný počet...
    Luboš Doležel (Doli) avatar 4.6.2008 12:32 Luboš Doležel (Doli) | skóre: 98 | blog: Doliho blog | Kladensko
    Rozbalit Rozbalit vše Re: chybička
    Opraveno, díky.
    ISSN 1214-1267   www.czech-server.cz
    © 1999-2015 Nitemedia s. r. o. Všechna práva vyhrazena.