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 10:44 | Zajímavý článek

    Alyssa Rosenzweig se v příspěvku na svém blogu Vulkan 1.3 na M1 za 1 měsíc rozepsala o novém Vulkan 1.3 ovladači Honeykrisp pro Apple M1 splňujícím specifikaci Khronosu. Vychází z ovladače NVK pro GPU od Nvidie. V plánu je dále rozchodit DXVK a vkd3d-proton a tím pádem Direct3D, aby na Apple M1 s Asahi Linuxem běžely hry pro Microsoft Windows.

    Ladislav Hagara | Komentářů: 4
    dnes 01:00 | Nová verze

    Byla vydána (𝕏) květnová aktualizace aneb nová verze 1.90 editoru zdrojových kódů Visual Studio Code (Wikipedie). Přehled novinek i s náhledy a animovanými gify v poznámkách k vydání. Ve verzi 1.90 vyjde také VSCodium, tj. komunitní sestavení Visual Studia Code bez telemetrie a licenčních podmínek Microsoftu.

    Ladislav Hagara | Komentářů: 0
    dnes 00:44 | Nová verze

    Byla vydána (Mastodon, 𝕏) nová verze 2024.2 linuxové distribuce navržené pro digitální forenzní analýzu a penetrační testování Kali Linux (Wikipedie). Přehled novinek se seznamem nových nástrojů v oficiálním oznámení.

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

    Počítačová hra Tetris slaví 40 let. Alexej Pažitnov dokončil první hratelnou verzi 6. června 1984. Mezitím vznikla celá řada variant. Například Peklo nebo Nebe. Loni měl premiéru film Tetris.

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

    MicroPython (Wikipedie), tj. implementace Pythonu 3 optimalizovaná pro jednočipové počítače, byl vydán ve verzi 1.23.0. V přehledu novinek je vypíchnuta podpora dynamických USB zařízení nebo nové moduly openamp, tls a vfs.

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

    Canonical vydal Ubuntu Core 24. Představení na YouTube. Nová verze Ubuntu Core vychází z Ubuntu 24.04 LTS a podporována bude 12 let. Ubuntu Core je určeno pro IoT (internet věcí) a vestavěné systémy.

    Ladislav Hagara | Komentářů: 2
    včera 01:00 | Nová verze Ladislav Hagara | Komentářů: 0
    4.6. 19:55 | IT novinky

    Intel na veletrhu Computex 2024 představil (YouTube) mimo jiné procesory Lunar Lake a Xeon 6.

    Ladislav Hagara | Komentářů: 0
    4.6. 13:44 | IT novinky

    Na blogu Raspberry Pi byl představen Raspberry Pi AI Kit určený vlastníkům Raspberry Pi 5, kteří na něm chtějí experimentovat se světem neuronových sítí, umělé inteligence a strojového učení. Jedná se o spolupráci se společností Hailo. Cena AI Kitu je 70 dolarů.

    Ladislav Hagara | Komentářů: 0
    4.6. 13:22 | Nová verze

    Byla vydána nová verze 14.1 svobodného unixového operačního systému FreeBSD. Podrobný přehled novinek v poznámkách k vydání.

    Ladislav Hagara | Komentářů: 0
    Rozcestník

    Butler Lampson (Programmers at Work)

    28. 5. 2008 | Tomáš Znamenáček | Rozhovory | 4492×

    Butler Lampson se se podílel na hardwaru i softwaru. Stál za vývojem vůbec prvního osobního počítače (Xerox Alto), laserového tisku, Ethernetu a prvního programu pro práci s textem v režimu WYSIWYG (Bravo). Kromě toho tvořil počítačové jazyky, například Euclid.

    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ů.


    Butler Lampson, Programmers at Work

    Butler Lampson učil jako mimořádný profesor informatiku na Berkeley, založil firmu Berkeley Computer Corporation a vedl výzkum v počítačové laboratoři firmy Xerox PARC. V současnosti [1986, pozn. redakce] pracuje jako vedoucí technik ve výzkumném centru firmy Digital Equipment Corporation v kalifornském Palo Altu. Řada jeho úspěchů v mnoha oblastech výzkumu a návrhu počítačů z něj dělá jednoho z nejváženějších profesionálů oboru. V jeho životopisu najdeme hardware, například místní síť Ethernet nebo osobní počítače Alto a Dorado; operační systémy, například SDS 940 a Alto; programovací jazyky, například Lisp a Mesu; aplikace, například textové procesory Bravo a Star Office; a síťové servery, například tiskárnu Dover a poštovní systém Grapevine.

    S Butlerem Lampsonem jsem se setkala v Palo Altu v kancelářích firmy DEC, kde pracuje jeden z každých šesti týdnů – zbývajících pět týdnů pracuje ve Philadelphii. Sám svůj styl práce označuje jako „virtuální dojíždění“, protože většinu práce odvede po telekomunikačních linkách. Na rozdíl od mnoha dalších lidí z tohoto uspěchaného a rychle rostoucího oboru nevykazuje příliš mnoho podnikatelských zájmů. Soustředí se na jediné: úspěšný návrh počítačového systému, ať už jde o hardware, software, jazyky nebo sítě. Zdrojového kódu už dnes píše jen málo. Je systémový designér: člověk s vizí a zkušenostmi, který pokládá bytelné základy složitých systémů. A bezpochyby patří k těm nejlepším.

    Co vás na počítačích přitahuje?

    Počítač je pro mě ta nejlepší hračka na světě. Můžete si vymyslet spoustu krásných věcí a pak je doopravdy realizovat.

    Ale to můžete i v jiných oborech…

    V jiných oborech je to mnohem, mnohem těžší. Pokud jste třeba fyzik, musíte si vystačit s tím, co vám dá příroda. Ale v informatice si můžete vymyslet cokoliv chcete. Je to jako v matematice, jenže si na výsledek můžete sáhnout.

    Vy jste se matematikou a fyzikou zabýval?

    Studoval jsem fyziku na Harvardu. Ke konci studia jsem docela hodně programoval pro jednoho profesora fyziky, který potřeboval na PDP–1 analyzovat fotografie z jiskrové komory. Na Berkeley, kde jsem ve studiu fyziky pokračoval, dělali velice zajímavý počítačový výzkum, ale dobře ho tajili. Dozvěděl jsem se o něm od známého na počítačové konferenci v San Franciscu – zeptal se mě, jak ten projekt pokračuje. Když jsem odpověděl, že jsem o něm nikdy neslyšel, řekl mi, za kterými neoznačenými dveřmi ho najdu.

    A co jste za těmi dveřmi našel?

    Šlo o vývoj prvního komerčního víceuživatelského systému SDS 940.

    Zúčastnil jste se ho?

    Propadl jsem mu. Časem jsem úplně vzdal studium fyziky, protože práce s počítačem pro mě byla mnohem zajímavější. Měl jsem štěstí, protože kdybych zůstal ve fyzice, dostal bych doktorát zrovna v době, kdy doktoráty z fyziky úplně vyšly z kurzu.

    Takže jste prošel neoznačenými dveřmi, zapojil se do tajného počítačového projektu a vyměnil fyziku za informatiku? Měl jste kromě programování pro PDP–1 nějaký dřívější kontakt s počítači?

    Ano, s kamarádem jsme si ještě na střední hráli s IBM 650. Šestsetpadesátka byla první firemní počítač, ale už byla na konci své užitečné životní dráhy, takže o její výpočetní čas nebyl velký zájem.

    Studoval jste hodně oborů. Vidíte nějakou spojitost mezi fyzikou, matematikou a informatikou?

    Jedině v tom, že úspěch ve fyzice a matematice – stejně jako v každé jiné poctivé disciplíně – vyžaduje schopnost jasně uvažovat. Proto z těchto oborů pochází tolik úspěšných informatiků. Dnes už lidé v informatice začínají a zůstávají u ní, což je těžší, protože informatika je velice povrchní. Nenutí vás dostatečně přemýšlet.

    Je to podle vás kvůli tomu, že jde o tak jednoduchý a mladý obor?

    To je hlavní důvod. Podle některých náznaků se situace zlepšuje, ale jde to pomalu.

    Je podle vás informatika na stejné úrovni, jako fyzika a matematika?

    Dříve jsem si myslel, že bakalářské studijní programy informatiky nestojí za nic a že by se měly zakázat. Nedávno mi došlo, že to není rozumný postoj. Bakalářský titul z informatiky je naprosto přijatelný odborný titul, stejně jako třeba titul z elektrotechniky nebo podnikového hospodářství. Ale myslím, že je veliká chyba podobný samostatný program studovat, pokud hodláte ve studiu informatiky pokračovat.

    Proč?

    Protože většina z toho, co se naučíte, vám bude z dlouhodobého pohledu k ničemu. Nenaučíte se jinak myslet. Což je mnohem užitečnější než podrobnosti o psaní překladače, kterými se nejspíš budete zabývat v samostatném bakalářském programu. Světu by podle mě prospělo, kdyby se magisterské programy domluvily a přestaly přijímat absolventy samostatných bakalářských programů informatiky. Takoví lidé by měli mít povinnost absolvovat před dalším studiem informatiky roční doučovací program nějakého pořádného oboru, třeba matematiky nebo historie. To se ale podle mě nestane.

    Jaké vzdělání nebo myšlení podle vás vede k největší produktivitě v oboru počítačů?

    Matematika vás naučí logicky uvažovat. Také se dozvíte, co znamená něco dokázat a jak pracovat s abstraktními základy. Z experimentální vědy, například fyziky nebo z humanitních věd, se naučíte tyto abstrakce používat v reálném světě.

    Stejně jako řada dalších významných programátorů jste začátek sedmdesátých let strávil v think tanku Xerox PARC, ve společnosti mnoha skvělých mozků. Bylo to pro vás inspirující?

    Bylo to perfektní. Měli jsme pocit, jako kdybychom dobývali svět.

    Ovlivnil některý z vašich tehdejších kolegů vaše myšlení?

    Všichni jsme se navzájem ovlivňovali. Bylo hodně co brát a dávat. Velice důležitý byl vliv Boba Taylora – jeho způsob vedení laboratoře a jeho konzistentní pohled na to, proč jsou počítače důležité.

    Xerox sice vytvořil skupinu počítačových odborníků, ale řadu z jejich myšlenek se nepovedlo realizovat a dostat na trh. Byl jste kvůli tomu zklamaný? Měl jste pocit, že svět na tyhle produkty ještě není připravený?

    Ono se vždycky špatně odhaduje, na co jsou lidé připravení. Měli jsme povědomí o okolním světě? Ano, měli. Měli jsme celou situaci dokonale v rukou? Nejspíš ne. A byli jsme překvapení, když se Xeroxu nepodařilo prodat Star? Moc ne. Můj celkový pohled na Xerox PARC je, že něco takového nemohlo trvat věčně. Nakonec to vydrželo téměř 15 let, což vůbec není špatné.

    PARC existoval kvůli tomu, abychom se něco naučili. Když vás někdo platí za to, že se učíte, jste jeho dlužníkem. Proto jsme měli pocit, že bychom měli být Xeroxu v rámci možností užiteční. Ale pro Xerox nebylo rozvíjení těch nápadů nezbytné. Jejich neúspěch nebyl žádné velké překvapení, protože se snažili uspět v novém oboru, o kterém ještě nikdo moc nevěděl. Na každém kroku se něco mohlo pokazit. Něco se pokazilo v marketingu – technici byli vysoce kvalitní, ale nikdy nedostali tak kvalitní marketing, jaký firma potřebovala.

    Například já jsem s Bobem Sproullem strávil hodně času návrhem projektu jménem Interpress, což byl standardizovaný tiskový jazyk. Dal jsem do něj hodně energie a býval bych rád, kdyby ho Xerox vzal a postaral se o jeho přijetí dalšími firmami. Xerox ho ovšem kompletně pohřbil. Někteří z lidí, kteří na něm pracovali, proto odešli, založili Adobe Systems a přišli s podobným produktem jménem PostScript, což je zjevně standard, kterého se teď všichni chytí. Takové věci člověka otráví, ale výzkumná laboratoř je tu především proto, aby přicházela s novými nápady.

    Existují dnes nějaké laboratoře zaměřené na nové nápady?

    Jsem v tomhle směru poněkud zaujatý. Nejlepší výzkum má Digital Equipment Company, kde zrovna pracuji, a Bellovy laboratoře.

    Myslíte si, že má výzkum nějaký praktický strop?

    Podle mě je například nepravděpodobné, že by se ujaly expertní systémy. Projekty, na kterých jsme pracovali začátkem sedmdesátých let, byly zjevně životaschopné. Přinejmenším jsem neviděl žádný zásadní důvod, proč by neměly fungovat. Dnes ovšem vidím řadu zásadních důvodů, kvůli kterým pravděpodobně nebudou fungovat systémy s umělou inteligencí. Zdá se mi, že několik lidí udělalo několik málo experimentů, jejichž výsledky – které byly často velice rozpačité – naprosto absurdně zobecnili.

    Proč podle vás umělá inteligence tolik přitahuje?

    Nejsem si jistý. Částečně za to nejspíš může základní počítačový omyl, který spočívá v definici počítače jakožto všeho schopného univerzálního stroje. Pokud nejde nijak očividně dokázat, že se něco nedá udělat, někteří lidé si myslí, že to musí jít. Hodně lidí nerozumí následkům složitosti a bez toho se mohou rychle spálit. Pokud nedají na někoho, kdo už se spálil, nezbývá jim než to zkusit a spálit se také. Jen zlomek z lidí, kteří nadšeně mluví o umělé inteligenci, to skutečně zkusili.

    K vidění bývají i docela krajní případy. Například DARPA sponzoruje program, který má všechny tyhle expertní systémy, umělou inteligenci a paralelní výpočty použít na báječných vojenských strojích, například robotických tancích. Vydali desetiletý plán, na kterém jsou po rozložení vidět jednotlivé větve vývoje a milníky, kdy se jim povede nějaký zásadní průlom. A všechno jsou to nesmysly, protože tyhle věci nikdo neumí. Některé z těch problémů se třeba v následujících deseti letech vyřeší, ale mít na to rozvrh…! Takhle svět nefunguje. Pokud neznáte řešení příslušných problémů, nemůžete plánovat dokončení projektu.

    Podle všeho pohrdáte složitostí. Když navrhujete systém, snažíte se o jednoduchost?

    Přesně. Všechno by mělo být tak jednoduché, jak jen to jde. Ale k tomu je potřeba zvládnout složitost.

    Což se prakticky vzato dělá jak?

    Pro zvládání složitosti existuje několik základních postupů. V zásadě pracuji systémem rozděl a panuj – rozložím si každou věc na menší části a snažím se v rozumné míře přesně popsat, co má každá z nich dělat. Z toho vznikne skica dalšího postupu. Když se vám specifikaci nedaří napsat, znamená to, že problému nerozumíte. Máte dvě možnosti: vycouvat k nějakému jinému problému, kterému rozumíte, a nebo se lépe zamyslet.

    Popis systému by navíc neměl být příliš velký. O velkých systémech je většinou potřeba uvažovat po částech. Je to něco jako řešení problémů v matematice: Užitečných rad se dají napsat plné knihy, ale nikdo vám nedá algoritmus.

    S počítači máte široké zkušenosti. Pracoval jste na vývoji počítačů, operačních systémů i aplikací. Jak moc se od sebe tyto obory liší?

    Když chcete psát aplikace, samozřejmě potřebujete velký cit pro uživatelská rozhraní, který například u vývoje hardwaru nehraje takovou roli. Při návrhu hardwaru vás většinou mnohem víc zajímají omezení daná konkrétní technologií, se kterou pracujete. Opravdu složité hardwarové systémy nikdo neumí postavit, takže návrh hardwaru bývá jednodušší. Software je složitější.

    Programujete ještě?

    Pouze v tom abstraktním smyslu. Nemám čas psát opravdové programy. Ale první polovinu tohoto roku jsem strávil psaním pětadvacetistránkového abstraktního programu pro jmenný server. Abyste měla představu o vztahu mezi abstraktním a skutečným programem, ten abstrakt byl přeložen asi do sedmi tisíc řádků kódu v Module-2. Takže podvádím. Doopravdy jsem programoval naposledy někdy před šesti nebo sedmi lety. Tehdy jsem programoval hodně.

    Které ze známých programů jste napsal?

    Napsal jsem značnou část operačního systému pro 940 a dva nebo tři překladače interaktivních jazyků pro vědecké a technické použití. Napsal jsem překladač Snobolu. Společně s Peterem Deutschem jsem navrhl jednoho z předchůdců jazyka C a napsal pro něj překladač. Napsal jsem několik programů pro automatizaci návrhu a ještě jeden operační systém, na kterém se dělalo začátkem 70. let v Xeroxu.

    Navrhují se vám dnes programy lépe než před deseti nebo patnáci lety?

    Návrh programů je dnes asi těžší, protože máme mnohem odvážnější cíle. Ale samotné programování je mnohem jednodušší než dřív. Počítače mají mnohem víc paměti, takže už je nemusíte tolik ždímat. Můžete se víc soustředit na řešení a méně na to, abyste vyšli s omezenými prostředky. To je znát. Také programátorské nástroje jsou dnes o něco lepší. Pro mě osobně je vývoj mnohem jednodušší, protože jsem přestal programovat.

    Jak zhruba postupujete, když navrhujete nebo vyvíjíte nový program?

    Většina nových programů vzniká jako zlepšení, rozšíření nebo zobecnění nějakého stávajícího programu. Jen zřídka se něco dělá úplně od nuly. Většinou dělám nový program jako rozšíření nebo zlepšení nějakého modelu, který už funguje v rámci jiného programu nebo uživatelského rozhraní. Například Bravo bylo výsledkem dvou mých nápadů. První se týkal reprezentace upravovaného textu uvnitř počítače, druhý řešil efektivní aktualizaci obrazovky. Ale základní myšlenka Brava pocházela ze systému NLS, na kterém koncem šedesátých let pracoval Doug Englebart v SRI. NLS se ovládal myší a zobrazoval strukturovaný text přes celou obrazovku. Spojením těchto myšlenek vzniklo Bravo.

    Dřív jsem si na kousek papíru načmáral poznámky a pustil se do hraní nebo jsem pro daný projekt nadchl někoho jiného a pustil jeho do hraní. Dnes se snažím zásadní body své myšlenky popsat dostatečně přesným, ale přesto abstraktním jazykem. Většinou je potřeba hodně iterací.

    Například jsem pracoval na jmenném serveru společně s Andrewem Birtellem a Mikem Schroederem, kteří v Xeroxu dali dohromady distribuovaný jmenný server jménem Grapevine. Ten zvládl několik tisíc jmen a kolem této hranice už začal selhávat. Po něm už jsme měli představu o tom, jak takový jmenný server napsat. Chtěli jsme ale, aby systém zvládl i několik miliard jmen, a to byl poměrně zásadní problém návrhu. Rozhodl jsem, že základním stavebním prvkem by měla být místní databáze. Každá taková databáze by implementovala celkem běžnou stromovou strukturu se jmény a všechny databáze by byly navzájem volně propojené.

    Popis systému i jednotlivé programy jsme psali celkem obecně, bez větší starosti o podrobnosti. Skončili jsme asi s pětadvaceti nebo třiceti stránkami zdrojových kódů a specifikací. Tyto stránky posloužily jako podrobný návrh, podle kterého jeden letní student napsal sedm tisíc řádků prototypové implementace.

    Tímto způsobem většinou pracuji. Délka projektu závisí na složitosti problému, někdy to trvá roky.

    Daly vám takovou práci i jazyky, na kterých jste pracoval?

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

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

           

    Hodnocení: 100 %

            š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ář

    28.5.2008 20:56 hydrandt | skóre: 35 | blog: Kanál | Herzogenburg
    Rozbalit Rozbalit vše Re: Butler Lampson (Programmers at Work)
    Prognóza byla správná - PostScript se chytnul ;) Výborný rozhovor.
    I am Jack's wasted life.
    zoul avatar 28.5.2008 21:19 zoul | skóre: 43 | blog: | Boskovice
    Rozbalit Rozbalit vše Re: Butler Lampson (Programmers at Work)
    Jedním z těch lidí, o kterých se v souvislosti s Postscriptem zmiňuje, je Butler Lampson. Ten je další na řadě, rozhovor vyjde nejspíš příští týden. Lampson v něm popisuje vznik Postscriptu a je to docela řacha, protože s ním přišli při návrhu nějakého šíleného newyorského námořního simulátoru :)
    zoul avatar 28.5.2008 21:23 zoul | skóre: 43 | blog: | Boskovice
    Rozbalit Rozbalit vše Re: Butler Lampson (Programmers at Work)
    Ááasi jsem vysadil prášky :) Butler Lampson je tohle, a já myslel Johna Warnocka. Zbytek, a zejména tedy obří námořní simulátor, platí.
    ISSN 1214-1267   www.czech-server.cz
    © 1999-2015 Nitemedia s. r. o. Všechna práva vyhrazena.