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í
×
    včera 21:22 | Nová verze

    Armbian, tj. linuxová distribuce založená na Debianu a Ubuntu optimalizovaná pro jednodeskové počítače na platformě ARM a RISC-V, ke stažení ale také pro Intel a AMD, byl vydán ve verzi 24.5.1 Havier. Přehled novinek v Changelogu.

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

    Společnost xAI založena Elonem Muskem a stojící za AI LLM modelem Grok získala investici 6 miliard dolarů.

    Ladislav Hagara | Komentářů: 1
    včera 15:44 | IT novinky

    Finálový zápas mistrovství světa v ledním hokeji přinesl nový rekord NIX.CZ (𝕏): "Dosavadní absolutní maximum našeho propojovacího uzlu bylo překonáno v čase 21:10, kdy jsme při přenosu dat dosáhli 3,14 Tbps. Je třeba také doplnit, že po deváté hodině večerní byly na maximu i ostatní datové přenosy nesouvisející s hokejovým šampionátem".

    Ladislav Hagara | Komentářů: 2
    včera 15:11 | Pozvánky

    Přihlaste svou přednášku na další ročník konference LinuxDays, který proběhne 12. a 13. října na FIT ČVUT v pražských Dejvicích. CfP poběží do konce prázdnin, pak proběhne veřejné hlasování a výběr přednášek.

    Petr Krčmář | Komentářů: 0
    25.5. 19:00 | Zajímavý projekt

    Na crowdsourcingové platformě Crowd Supply byla spuštěna kampaň na podporu open source biometrického monitoru ve tvaru hodinek HealthyPi Move. Cena je 249 dolarů a plánovaný termín dodání listopad letošního roku.

    Ladislav Hagara | Komentářů: 13
    24.5. 22:22 | Upozornění Ladislav Hagara | Komentářů: 21
    24.5. 17:44 | Nová verze

    Firma Murena představila /e/OS verze 2.0. Jde o  alternativní sestavení Androidu bez aplikací Google. Mezi novinkami je podrobnější nastavení ochrany soukromí před sledováním aplikacemi. Murena prodává několik smartphonů s předinstalovaným /e/OS (Fairphone, repasovaný Google Pixel 5).

    Fluttershy, yay! | Komentářů: 0
    24.5. 14:33 | Zajímavý software

    Do 30. května lze v rámci akce Warhammer Skulls 2024 získat na Steamu zdarma hru Warhammer 40,000: Gladius - Relics of War.

    Ladislav Hagara | Komentářů: 1
    24.5. 13:33 | Nová verze

    HelenOS (Wikipedie), tj. svobodný operační systém českého původu založený na architektuře mikrojádra, byl vydán ve verzi 0.14.1. Přehled novinek v poznámkách k vydání. Vypíchnou lze nabídku Start. Videopředstavení na YouTube.

    Ladislav Hagara | Komentářů: 3
    23.5. 23:22 | Zajímavý software

    BreadboardOS je firmware pro Raspberry Pi Pico (RP2040) umožňující s tímto MCU komunikovat pomocí řádkového rozhraní (CLI). Využívá FreeRTOS a Microshell.

    Ladislav Hagara | Komentářů: 0
    Podle hypotézy Mrtvý Internet mj. tvoří většinu online interakcí boti.
     (89%)
     (3%)
     (4%)
     (4%)
    Celkem 913 hlasů
     Komentářů: 16, poslední 14.5. 11:05
    Rozcestník

    John Page - 2 (Programmers at Work)

    27. 6. 2008 | Tomáš Znamenáček | Rozhovory | 2440×

    V druhé části rozhovoru mluví John Page o tom, jak mají komplikované programy špatný vliv na produktivitu, roli počítačů v budoucnosti a cennosti informací.

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


    Začátek rozhovoru: John Page (Programmers at Work).

    Jak se dá schovat složitost?

    Dám vám příklad. Když chcete v PFS Reportu udělat hezký, střízlivý výkaz, jednoduše zadáte čtyři údaje, které v něm chcete mít: název firmy, adresu, celkový prodej a jméno prodejce. Program projde databázi a najde šířku největšího sloupce. Pak spustí heuristiku, která spočítá poměr šířky mezer mezi sloupci a mezer na okrajích. Tahle heuristika je složitá potvůrka. Vyzkouší několik různých věcí, každou oznámkuje podle „pěknosti“ a nakonec si vybere. Díky tomu je výkaz esteticky vyvážený, má stejné okraje na obou stranách, sloupce nejsou příliš úzké a nejsou ani příliš daleko od sebe.

    Program si dá práci i s tím, aby byl výkaz svisle na středu stránky. Každý poměr je počítaný tak, aby vypadal hezky a zároveň seděl datům. Přehazujeme data sem a tam v několika různých variantách, dokud na stránce nevypadají dobře. Výkazy pak vypadají dobře v devadesáti devíti případech ze sta a dokonce i zbylé procento je ještě pořád dokonale použitelné. Většina lidí dostane hezký výkaz jednoduše tak, že zadá jeho obsah; vůbec nemusí přemýšlet nad designem.

    U méně promyšlených programů musí uživatel zadávat šířky všech sloupců a jejich umístění na stránce sám. Programy třeba uživatele nutí přemýšlet nad tím, jak bude široký sloupec se jménem. Uživatel odhadne nějakou velkou hodnotu, dejme tomu si třeba neumí představit jméno delší pětadvaceti znaků. A samozřejmě že tam právě takové bude a ořízne se. Uživatel vydá spoustu energie rozhodováním o tom, kde co bude na papíře, a výsledek je hrozný, protože si to nedokázal pořádně představit.

    Ale tady je pointa: programy, které se hůř používají, dělají ze své složitosti přednost. Předvádí složitost jako počet funkcí: náš uživatel si může určit, kde přesně který sloupec bude, zatímco PFS si je dá, kam chce samo. Pravda je taková, že téměř každý uživatel takových složitějších programů musí podobu výkazu pětkrát změnit, aby výkaz k něčemu vypadal. A nebo se smíří s tím, že nevypadá. Ptám se, jestli takhle vypadá produktivita. Návrh se tady zužuje na otázku rovnováhy mezi kontrolou a produktivitou. Buď můžete být produktivní, nebo si můžete na všechno sáhnout. To je kompromis, který programátoři a uživatelé řeší neustále.

    Vypadá to, že vývoj dobře použitelného programu trvá dlouhou dobu. Jak si ho můžete dovolit?

    Děláme to, protože je to v zájmu našich uživatelů. Tím se odlišujeme od konkurence. Děláme programy s automatickou převodovkou, která se navrhuje hůř než ruční převodovka. Ale přesně to od nás uživatelé chtějí. Máme ve světě přes dva milióny programů, takže téhle extra investici věříme, protože se vyplácí i nám.

    Kde berete nápady na nové programy?

    Na to se někdy ptám sám sebe, ale skutečná odpověď zní, že je potřeba zůstat v kontaktu s uživatelem. Chci nezpracovaná data, chci si na ně udělat vlastní názor. Takže si pravidelně vyberu klidnou chvíli, projdu registrační karty našich uživatelů a někomu náhodně zavolám. Zeptám se jich, proč koupili náš produkt a na co ho používají. Lidé jsou takovým osobním přístupem ohromení, ale obyčejně vám řeknou docela hodně o tom, co s produktem dělají.

    Pečlivě sledujeme konkurenci, ale dáváme si pozor, abychom nepodlehli skupinovému myšlení. Účastníme se řady spolků a konferencí, na kterých naši kolegové chybí. Máme rádi konference, které se netočí přímo kolem počítačů, ale kde se o počítačích pravděpodobně bude mluvit. Investičních konferencí se účastní hodně lidí z různých oborů – od polovodičů, hardwaru, softwaru nebo distribuce. Máme speciální program, jehož prostřednictvím se snažíme naslouchat prodejcům. Názory takových lidí skládají dohromady mozaiku celého oboru.

    Svou roli hraje i štěstí. Název Software Publishing Company je hodně zavádějící, protože my žádný cizí software nevydáváme. Přesto nám své programy posílají téměř všichni, kteří by se s nimi rádi dostali na trh, takže máme přehled o stovkách nových nápadů z celé země.

    Největší zdroj nápadů je uvnitř firmy. Sami naše produkty používáme – dokonce po vlastních lidech chceme, aby je používali co nejvíc, protože nás zajímá zpětná vazba ohledně jejich úspěchů a neúspěchů. Se dvěma stovkami zaměstnanců dostanete docela hodně dat. A s vlastními nápady samozřejmě přicházejí i lidi z laboratoře.

    Stýkáte se hodně s ostatními programátory?

    Snažíme se trávit čas s lidmi od softwaru, protože to bývají lidé, kteří mívají dobré nápady. Ale kupodivu si spolu zase tak moc nerozumíme. Někteří z nich jsou vážně hodně chytří. Ale co je na většině programátorů zvláštní, je, že ačkoliv většinou nepostrádají schopnosti, nepřišli na to, k čemu je použít. Na konferenci se obyčejně dají dohromady a pak do rána probírají kód a podobně. To je pro mě naprostá nuda. Říkám si: „Fajn, je to zajímavé, ale není to smysl života.“

    Jen málokde narazí člověk na lidi, kteří se o řešení problémů zajímají podobně jako já. Ubíjí mě, že neustále potkávám samé dělníky a žádné architekty. Přál bych si mít nějaké místo, na kterém by se potkávali designéři i z jiných oborů než jen od počítačů – lidé z letectví, stavařství nebo strojírenství. Jsem si jistý, že bychom našli řadu paralel, ačkoliv je momentálně neznám. Bylo by fajn něco takového uspořádat.

    Jakou roli budou podle vás počítače hrát v budoucnosti?

    Už budou navždycky hrát naprosto ústřední roli ve všem. Informace jsou základní stavební prvek vesmíru. Informace o věcech jsou téměř stejně cenné jako věci samy a počítače jsou stroje na zpracování informací. Velice zajímavý článek o síle informací jsem onehdy četl v Business Weeku. Lidé si teprve začínají uvědomovat, jak důležité je mít dobré informace. Jeden pán, který má investované miliardy dolarů, řekl, že informace o svých investicích upřímně považuje za cennější než samotné investice.

    Zamyslete se nad tím – to znamená, že informace jsou zdroj nebo materiál stejně cenný jako zlato. Uvědomte si, jak pečlivě byste je asi používali, zpracovávali a jak byste je chránili. A právě tohle počítače zvládají tak dobře. Předpověď, že počítače proniknou do každé úlohy společnosti, se naplní do puntíku.

    V čem konkrétně se počítače budou vyvíjet?

    Já osobně vidím dvě oblasti, které jsou v následujících deseti až patnácti letech zralé na zlepšování. První z nich je návrat osobního počítače do skutečně osobní podoby, na velikost knížky a cenu tří set dolarů. K tomu dojde během dvou let. Druhá oblast jsou komunikace. Momentálně se informace vyměňují velice primitivně – pomalu, obtížně a draho. Díky konkurenci a novým technologiím se situace bude zlepšovat; z tohoto pohledu je zajímavé rozdělení AT&T.

    Jaký budou mít počítače vliv na komunikaci?

    Komunikace bude rychlejší a levnější. Informace jsou užitečné jen tehdy, když se k nim můžete dostat, a to momentálně neplatí. Myslím, že si lidé neuvědomují, jak špatně jsou informovaní. Jakmile si jednou uvědomí nabízené možnosti, nebudou chtít uvěřit, že kdy žili bez nich.

    Přístup k informacím bude v našich životech hrát zásadní rozdíl. Například budeme komunikovat digitalizovaným hlasem. Pamatujete na ten vzkaz, který jste mi nechávala, když jste mi prvně volala? Dovolala jste se mému záznamníku, což je počítač. Váš hlas byl digitalizován a uložen na disku počítače, který obsluhuje celou budovu. Váš vzkaz mohu poslat někomu jinému a mohu ho změnit nebo přeposlat z domu – stačí se k systému na dálku připojit pomocí tlačítkového telefonu. Bez počítačů by to nešlo. Brzy budeme mít verzi pro domácnosti, asi za 300 dolarů. Záznamníky budou umět mluvit jeden s druhým. Což je děsivé.

    K jakým informacím budeme podle vás mít v budoucnu přístup?

    Dám vám příklad, co všechno by mohlo být k dispozici. Řekněme, že chcete na prázdniny někam do Evropy. Chcete dobrou pitnou vodu, hezký hotel na pláži, bazén s protiproudem a chcete mít někde poblíž možnost závěsného létání. Jenže jak to všechno chcete najít? Dobrý hotel poblíž pláže nejspíš najdete v cestovních průvodcích, ale už v nich asi nenajdete zmínku o věcech, které vás zajímají nejvíc, například o tom závěsném létání a bazénku s protiproudem. Pokud se náhodou nedostanete k fotografii, nebudete mít prakticky žádné informace, na základě kterých byste se mohli rozhodovat. A skončí to tak, že budete každý rok jezdit na totéž místo, protože lepší zkrátka nenajdete. Existuje nespočet dalších příkladů a tuny informací, které nám chybí prakticky u každé stránky našeho života.

    Existují některé z těchto informačních zdrojů už dnes?

    Ano. Já jsem například pilot a moje možnosti létání jsou dnes o 20–30 procent lepší, protože se mohu připojit k předpovědi počasí a dostat přehled na svůj počítač. Ostatní způsoby, jak se k předpovědi dostat, jsou mnohem složitější. Mohu si na předpověď zavolat a strávit půl hodiny čekáním ve frontě. I když ji vyčkám, mohu se přeslechnout nebo přepsat. Takhle jednoduše zadám požadavek do počítače a mám ji – rychle a přesně. A zvláštní je, že mám lepší informace než dispečeři – připojuji se přímo k National Weather Service v coloradském Boulderu, zatímco dispečeři svou předpověď mají z nějakého stařičkého systému, který si federální vláda nemůže dovolit renovovat. Plán letu sice ještě musím hlásit telefonem, ale to se brzy změní, brzy půjde zadat online.

    Proč byste řekl, že tolik programátorů rekreačně létá?

    Jeden z důvodů je, že úspěšní programátoři mají na létání finanční prostředky. A za druhé je létání technická disciplína, která spočívá ve zvládání složitosti, což technické typy zbožňují. Programátoři rádi zvládají složité věci a létání je extrémně složitá věc, takže je velká zábava snažit se ho zvládnout. A za třetí se létání hodně podobá programování. Dobrý pilot dopřeje cestujícímu bezchybnou a nudnou cestu, dobrý programátor dopřeje zákazníkovi bezchybný a nudný zážitek s počítačem.

    Máte nějaké další koníčky nebo zájmy?

    Stavím dům, hraji na kytaru a rád plavu – ne kvůli plavání jako takovému, ale kvůli tomu cvičení.

    To nevypadá, že byste byl zrovna workoholik.

    Taky nejsem – s výjimkou případů, kdy dělám na něčem hodně konkrétním a spadnou mi klapky, jak už jsem říkal; ale to už se nestalo dlouho. Zjistil jsem, že jako vedoucí nemohu pracovat dlouho. Vedení ostatních lidí vyžaduje kontakt během standardní pracovní doby. A navíc je neuvěřitelně vysilující. Hodně si vezme, aniž by vám cokoliv dalo nazpátek. Výsledky vidíte nepřímo – lidé kolem vás rostou, projekty se podaří dostat z firmy na trh a firma jako taková má úspěch. Dobře se na to dívá, ale chybí mi přímý pocit uspokojení, který člověku nabízí programování. Ve výsledku jsem zjistil, že v práci nemohu zůstávat moc dlouho. Musím si najít nějaký volný čas, abych udržel rovnováhu a nezbláznil se z toho.

    Jako programátor byste rovnováhu udržet nemusel? Když vám spadnou klapky?

    Musíte říct příbuzným: „Podívej, teď tu půl, tři čtvrtě roku nebudu. Fyzicky tu budu, ale jako kdybych nebyl. Budu pracovat na tomhle projektu a budu mimo. Potřebuji, abyste tomu rozuměli, abyste to chápali, a slibuji, že až se objevím na druhém konci, tak vám to vynahradím.“ Pokud máte někoho rádi, je důležité ten slib dodržet. Takhle tvrdá práce může být pro manželství a další vztahy katastrofa.

    Někoho dokončení projektu tak nakopne, že se okamžitě pustí do dalšího. To vás doslova vysaje. Pokaždé, když se rovnýma nohama pustíte do dalšího projektu, jste horší a horší.

    A také je během tvrdé práce na složitém programu důležité cvičit. Na nedostatek fyzického cvičení většina programátorů dojede; vede ke ztrátě pozornosti. A taky k fyzické slabosti, která může zvýšit pocit rozčarování běžně spojený s druhým nebo třetím programátorským pokusem. Podíváte se do zrcadla a řeknete si: „Bože můj, podívej se na sebe, máš tohle zapotřebí?“

    Proč jsou programátoři tak obsesivní?

    Neustále se snažíte v hlavě udržet stav celého systému, na kterém pracujete. Když tu představu ztratíte, nějakou dobu trvá, než se do toho stavu zase dostanete. Jako když má dispečer letové dopravy na starosti devět letadel a přesně ví, odkud a kam letí. Zeptáte se ho, v kolik končí, a všechna letadla jsou najednou pryč, celý ten jeho model. Jakmile v programování chytíte rytmus, můžete i s velkým modelem pracovat efektivně. Když z něj vypadnete, hezkou chvilku trvá, než ho zase chytíte.

    Máte nějaké pevné pracovní návyky?

    Osobně odvedu nejlepší práci po ránu. Rád vstávám hodně brzy, dokud je ještě klid, a programuji. Vlastně dělám po ránu úplně všechno, co vyžaduje soustředění. Schůzky se snažím naplánovat na odpoledne, kdy mi to zrovna dvakrát nemyslí. S mluvením potíže nemám, ale jsem příliš unavený na to, abych hledal tvůrčí řešení nějakých problémů. Od šesti večer až do následujícího rána jsem naprosto nepoužitelný.

    Jak postupujete, když něco programujete?

    Sednu si a vymyslím, co přesně by měl program dělat. Pak ho v duchu rozeberu na jednotlivé komponenty. Nejdřív se většinou zaměřím na části, které by podle mě mohly být problémové, a snažím se je pochopit. Tohle vypadá složitě, támhleto vypadá složitě a zbytek jsou jen obyčejné soubory a staré hešovací tabulky. Jakmile se takhle odděleně vypořádám s jednotlivými částmi – a třeba si i napíšu malý program, abych si vyzkoušel nějakou teorii – mám už v celý program určitou důvěru. Některé části budou zadarmo, jiné budou hodně těžké, ale už vím, co s nimi. Pak mohu program začít strukturovat, ještě než ho začnu psát.

    Musím věřit tomu, že jsem se pustil do něčeho zvládnutelného, jinak bývám hrozně roztržitý. Viděl jsem začínající programátory, kteří se tak báli, aby vůbec došli na konec programu, že si radši vybrali nějaký jeho menší kousek a začali rovnou programovat. Tím se do programu pouští z poměrně nesnadné pozice.

    Jakmile mám načrtnutou strukturu, pustím se postupně do práce na jednotlivých kusech a definuji rozhraní mezi nimi. Nemám rád ten nepříjemný pocit, že navrhuji něco, u čeho třeba nepůjde udělat nějaká zásadní část. Z toho mi pak běhá mráz po zádech a nemám dost sebedůvěry, abych na projektu s nasazením pokračoval.

    Když nějaká část nefunguje, stane se vám, že to celé zahodíte a začnete znovu?

    Vzrušuje mě, když na něčem tvrdě pracuji a začne mi docházet, proč se to přede mnou ještě nikomu nepovedlo. Když to dokážu vyřešit, dokážu něco, co ostatní považovali za nemožné. Zvedne mi to adrenalin, zrychlí tep. To prostě miluji. Bývám pak jako pes zakousnutý do kosti, za žádnou cenu nepustím. Myslím na to v autě, během plavání, ve sprše. Nedám problému pokoj, dokud nepřijdu na řešení – třeba i způsobem, který nikoho přede mnou nenapadl. Je jasné, že pokud se problém ukáže jako opravdu neřešitelný, tak se časem vzdám. Ale často se stává, že o něm přemýšlím dostatečně dlouho a tvrdě a podaří se mi ho nějak obejít. Výsledné řešení nemusí být zrovna elegantní a nemusí odpovídat všem představám informatiky, ale to je fuk, hlavně když funguje.

    Vždycky jsem tvrdil, že informatika není ve skutečnosti věda, protože se nedozvídá nic o fyzickém vesmíru, ale je to pravda jen napůl. Někdy zapadne řešení problému na místo tak dokonale, jako kdyby existovalo odjakživa a já ho jen objevil. Prohlédnu si ho a zjistím, že je naprosto bez chyby. Je to zvláštní.

    Vezměte si například návrh PFS:File. Pamatuji si, že jsem přišel asi se čtyřmi nebo pěti naprosto odlišnými návrhy. Některé to zkoušely relačně, jiné z pohledu přirozeného jazyka. Připomněl jsem si, co vlastně hledám – chtěl jsem návrh programu, který by se dal rozšířit na celou rodinu programů, například program pro psaní výkazů, textový procesor a grafický editor. Chtěl jsem, aby se jednotlivé programy navzájem hodně podobaly a aby nikoho nepřekvapilo, jak se budou používat. Zároveň jsem ale chtěl, aby byl program funkčně úplný. Řešení muselo dělat všechno, co jsem chtěl, a muselo být jednoduché a dobře použitelné. Kombinoval jsem různé nápady a zkoušel jsem různé přístupy k návrhu. Některé fungovaly dobře v jedné oblasti, ale nefungovaly v jiné. Každý návrh splňoval požadavky do různé míry. A pak jsem najednou narazil na návrh, který je splňoval všechny.

    Když někdy udělám hodně dobrý program, mám pocit, jako kdybych ho jen objevil. Dodělám práci, podívám se na ni a říkám si, že jinak to být nemohlo. Skoro jako kdybych nad tím vůbec nevládl, řešení se mi zkrátka přihodí. Jinak to nešlo. Takový pocit znamená, že jsem přišel na něco podstatného. Objevování je vážně dobrá metoda, ale nestává se příliš často.

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

    Firma Software Publishing Company byla prodána v roce 1996. John Page je k vidění na dvouminutovém videu z roku 2006, ve kterém mluví o psaní databázových programů, mikropočítačích a řízení firmy, ale jinak se po něm na webu slehla zem.

           

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

    27.6.2008 12:30 mikro
    Rozbalit Rozbalit vše Re: John Page - 2 (Programmers at Work)
    ako uz niekto spominal pri prvej casti, asi naozaj zatial najslabsi rozhovor. to keby zobrali akehokolvek projekt manazera z nejakej IT firmy, tak by sa tie odpovede asi moc nelisili.
    27.6.2008 12:46 Robert Krátký | skóre: 94 | blog: Robertův bloček
    Rozbalit Rozbalit vše Re: John Page - 2 (Programmers at Work)
    Doporučuji se podívat na ty odkazy, které jsem uváděl v diskuzi k prvnímu dílu. To je zajímavé čtení a je z toho vidět, že ten pán nebyl/není jen tak obyčejný "manažer".
    ISSN 1214-1267   www.czech-server.cz
    © 1999-2015 Nitemedia s. r. o. Všechna práva vyhrazena.