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 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
    včera 16:55 | Nová verze

    Vývojáři KDE oznámili vydání balíku aplikací KDE Gear 24.05. Přehled novinek i s náhledy a videi v oficiálním oznámení. Do balíku se dostalo 5 nových aplikací: Audex, Accessibility Inspector, Francis, Kalm a Skladnik.

    Ladislav Hagara | Komentářů: 1
    včera 12:55 | Nová verze

    Byla vydána (𝕏) nová verze 18.0.0 open source webového aplikačního frameworku Angular (Wikipedie). Přehled novinek v příspěvku na blogu.

    Ladislav Hagara | Komentářů: 0
    22.5. 23:44 | Pozvánky

    V neděli 26. května lze navštívit Maker Faire Rychnov nad Kněžnou, festival plný workshopů, interaktivních činností a především nadšených a zvídavých lidí.

    Ladislav Hagara | Komentářů: 0
    22.5. 16:33 | Nová verze

    Byla vydána nová stabilní verze 3.20.0, tj. první z nové řady 3.20, minimalistické linuxové distribuce zaměřené na bezpečnost Alpine Linux (Wikipedie) postavené na standardní knihovně jazyka C musl libc a BusyBoxu. Z novinek lze vypíchnou počáteční podporu 64bitové architektury RISC-V.

    Ladislav Hagara | Komentářů: 0
    22.5. 14:11 | IT novinky

    Společnost Jolla na akci s názvem Jolla Love Day 2 - The Jolla comeback představila telefon se Sailfish OS 5.0 Jolla Community Phone (ve spolupráci se společností Reeder) a počítač Jolla Mind2 Community Edition AI Computer.

    Ladislav Hagara | Komentářů: 5
    22.5. 12:33 | Nová verze

    LibreOffice 24.8 bude vydán jako finální v srpnu 2024, přičemž LibreOffice 24.8 Alpha1 je první předběžnou verzí od začátku vývoje verze 24.8 v prosinci 2023. Od té doby bylo do úložiště kódu odesláno 4448 commitů a více než 667 chyb bylo v Bugzille nastaveno jako opravené. Nové funkce obsažené v této verzi LibreOffice najdete v poznámkách k vydání.

    ZCR | Komentářů: 0
    21.5. 23:33 | Nová verze

    Nová čísla časopisů od nakladatelství Raspberry Pi: MagPi 141 (pdf) a HackSpace 78 (pdf).

    Ladislav Hagara | Komentářů: 0
    21.5. 21:22 | Nová verze

    Byla vydána verze 2.0.0 programovacího jazyka Kotlin (Wikipedie, GitHub). Oficiálně bude představena ve čtvrtek na konferenci KotlinConf 2024 v Kodani. Livestream bude možné sledovat na YouTube.

    Ladislav Hagara | Komentářů: 2
    21.5. 12:55 | Nová verze

    Byla vydána nová major verze 27.0 programovacího jazyka Erlang (Wikipedie) a související platformy OTP (Open Telecom Platform, Wikipedie). Přehled novinek v příspěvku na blogu.

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

    Bob Frankston - 2 (Programmers at Work)

    15. 8. 2008 | Tomáš Znamenáček | Rozhovory | 2161×

    V dokončení rozhovoru mluví Bob Frankston o tom, jak vidí srovnání programování a umění, a nakolik je informatika věda. Na otázku „Co byste poradil mladým programátorům?“ odpovídá „Nemyslete si, že toho nějak zvlášť hodně víte.“

    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: Bob Frankston (Programmers at Work).

    Kdybyste měl programování srovnat s nějakou uměleckou formou, vybral byste si psaní, sochařství, malbu, nebo hudební skladbu?

    V hudbě a dalších formách umění se člověk snaží pohybovat v rámci určitých pravidel, ale zároveň je v několika málo ohledech překračovat. V hudbě je hodně pravidel a stejně jako v programování musíte vědět, kdy pravidla dodržet a kdy naopak porušit.

    Spisovatele můžete naučit pracovat podle osnovy, pokud jim to pomůže zorganizovat text. Stejně tak v programování se dá naučit celá řada technik pro zorganizování materiálu. Jako sochařka musíte něco vědět o těžišti (nebo pro něj mít přirozený cit), protože jinak svou sochou můžete někoho zabít.

    V umění se také ptáte, jak asi budou lidé vaše dílo vnímat. Snažíte se přijít na nějaký model vnímání. Řekl bych, že hodně umělců se na věci dívá úplně jinak, a podobné je to s programátory. Když se snažíte něco sdělit, ať už psaním nebo programováním, váš posluchač vám musí rozumět. Pokud nedokážete program vysvětlit sama sobě, s největší pravděpodobností mu nebude rozumět ani počítač.

    Do jaké míry je informatika věda?

    Výraz informatika se používá zbytečně často – radši bych mluvil o softwarovém, výpočetním nebo informačním inženýrství. Vidím ve věcech víc technické, inženýrské práce, protože ta si nedělá takové nároky na čistotu. Ale programování má samozřejmě i svou vědeckou stránku.

    Jako užší chápu výraz výpočetní, třeba výpočetní technika. Pokud jde o vědu, hodně vědy je potřeba například při analýze složitosti interakcí. Ale programování jako takové je podle mě spíš technická disciplína.

    Máte nějaké zavedené programátorské postupy?

    Důležité je mít neustále na paměti, kam se člověk v rámci projektu snaží dostat. S ohledem na to si pak nějakou dobu nechám v hlavě rozležet nápady a přijdu na systém, podle kterého budu pokračovat. Pak si udělám funkční kostru, aby mě práce bavila a abych mohl zkoušet a podle potřeby předělávat nápady. Dalo by se říct, že postupuji organicky, že si program pěstuji. Nakonec se projekt dostane do fáze, kdy jsou všechny podstatné části hotové. Tehdy se musím postarat o všechny detaily, které jsou potřeba pro odevzdání hotového produktu.

    Programuje se vám dnes lépe než před dvaceti lety?

    Řekl bych, že ano, ale zároveň se snažím dělat složitější projekty. S moderními počítači má člověk víc příležitostí ukousnout si příliš velké sousto. Beru sám sebe jako takového školáka‑dvojkaře. Nezáleží na tom, o jaký jde předmět – pokud mě zajímá, dostanu jedničku, a pokud ne, dostanu dvojku. Tohle je měřítko, na obtížnosti předmětu nesejde. S programováním je to podobné, snažím se odvést maximum práce v možnostech dostupných nástrojů.

    Nosíte v určité fázi projektu celý program v hlavě?

    Alespoň v obrysech ano. Místy je ta představa konkrétnější, místy méně. Průběžně se k jednotlivým částem vracím, upřesňuji je, přidávám další drobnosti.

    Píšete do svých programů hodně komentářů?

    Záleží na tom, jak moc je podle mě kus kódu zjevný. V čím vyšším jazyce píšu, tím méně komentářů dělám. Snažím se vymýšlet a psát čitelný kód. Používám jen idiomy, které jsou v daném jazyce přirozené, a když mám pocit, že se něco špatně čte, přidám komentář.

    Zaslechl jsem od pár lidí, že se můj kód nadprůměrně dobře čte – přesně s tímhle záměrem ho také píšu. Abych se k němu i já mohl později vrátit a udělat několik drobných změn, aniž bych se musel bát následků. Komentáře slouží především jako varování před problémy.

    Kde berete nápady na programy?

    Z projektů, na kterých bych rád pracoval. Většinou souvisí s tím, co by přišlo užitečné dalším lidem. Musím mluvit s lidmi, nežiji ve vzduchoprázdnu. Rád spolupracuji s lidmi na věcech, které jsou užitečné. Počítač je pro mě nástroj pro vyjádření toho, jak by se podle mého názoru měly věci dělat.

    Na jakých projektech právě pracujete?

    No… je to kombinace nástrojů a produktů. Snažím se vyjít novým směrem. Chci víc než jen programovat a přicházet s produkty ve starých problémových doménách.

    Co je pro vás na programování nejtěžší?

    Na to je řada různých měřítek. V podstatě se snažím najít správnou perspektivu nebo směr, ale to se netýká jen programování. Podobné je to třeba u psaní: Jak podrobný by text měl být? Kdy už je podrobný příliš? Na programování je nejtěžší dotáhnout produkt do prodejné podoby, aby fungoval a zároveň se vešel do vymezených mantinelů.

    Nakolik se projekt změní, když na něm začne pracovat větší počet programátorů? Jaká je dynamika takového projektu?

    Zkoušela jste někdy napsat článek v deseti lidech? V tomhle ohledu jsou všechny projekty podobné. Problém je v tom, že při práci na velkých projektech musíte pracovat s velkým počtem lidí, a návrh ani problémy nemůžete řešit ad hoc. Musíte pamatovat na cílový výsledek a dát lidem nějaké dílčí cíle a pravidla. Nemůžete jen tak přijít a říct: „Tohle byl špatný nápad, zkusme to radši takhle.“ To většina lidí dlouho nevydrží.

    Co byste poradil mladým programátorům?

    Nemyslete si, že toho nějak zvlášť hodně víte. Snažte se přijít na předpoklady, se kterými počítáte, a zpochybňujte je. Věřte si, ale zůstávejte skromní a pochybujte o své práci. Vypěstujte si vhodnou míru viny – ne moc, abyste se nebáli pracovat, ale dost na to, abyste měli smysl pro eleganci. Snažte se jít do hloubky. Nemyslete si, že když vám něco funguje napoprvé, není už nad čím přemýšlet.

    Jeden z problémů dnešních počítačů podle mě je, že se vám něco podaří rozběhnout v Basicu a už si myslíte, že tomu rozumíte. Ve skutečnosti jste v tom okamžiku teprve na začátku. Řekl bych, že v programování hodně pochopení pramení z psychologie a z toho, jak lidé zachází se světem. Ve výsledku se totiž snažíte pochopit, jak fungují procesy obecně. Program je jen jeden malý kousek. Chce to trochu zvědavosti – dá se bez ní obejít, ale v ideálním případě musíte být zvědaví a hledat nové způsoby, jak něco pochopit.

    Co si myslíte o umělé inteligenci?

    Potíž je v tom, že výraz AI přišel v poslední době hrozně do módy. Jakmile někdo pochopí, o co přesně jde, slovu inteligence už se většinou vyhýbá. Hodně komerčních expertních systémů jsou jednoduše rozhodovací tabulky, které jsou příliš velké na to, aby se daly snadno vyřešit. Není na nich nic tajemného.

    Mě na umělé inteligenci zajímá spíš vnímání a myšlení v obecných systémech. Zajímá mě, jak AI přistupuje k řešení složitých problémů. Máme se hodně co učit z lidské inteligence, která odvádí slušné výkony na svým způsobem průměrném výpočetním stroji. Při našich pokusech o pochopení téhle inteligence přicházíme na to, jak zvládat složitost. Nebál bych se prohlásit, že hodně ze současných pokroků výpočetní techniky má na svědomí právě honba za umělou inteligencí.

    Co si myslíte o IBM PC?

    Pěkný stroj. A je jich hodně. Možná už stárnu, ale radši bych programoval na něčem rozšířeném než na něčem, z čeho bych dokázal dostat výhodu. Současné IBM PC je v mnoha ohledech dost omezené. Otázka zní: Jak moc se nám tahle omezení povede obejít? Řekl bych, že vzrušení je z velké části právě v překonávání překážek a dosahování cílů ve větších doménách. Programování tu není samo pro sebe.

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

    V době, kdy Bob Frankston společně s Danem Bricklinem pracovali na VisiCalcu, byly softwarové patenty ve Spojených Státech teprve v plenkách, a tak byl VisiCalc chráněn pouze autorským právem. To se ovšem vztahuje na konkrétní podobu díla a nikoliv na myšlenku, takže se brzy objevila řada dalších tabulkových procesorů, jejichž výrobci nemuseli autorům VisiCalcu zaplatit ani cent.

    Zřejmě není potřeba dodávat, že příběh VisiCalcu v tomto ohledu rádi zmiňují zastánci softwarových patentů – například patentový zástupce Russ Krajec ve svém blogu došel k názoru, že „absence patentu v tomto případě zastavila veškerou inovaci a ještě dnes používáme tabulkové procesory, které se chovají jako čtvrt století starý software.“ Dan Bricklin, duchovní otec VisiCalcu, na to ve svém blogu odpovídá: „Inovace se v žádném případě nezastavila. (…) Když Mitch Kapor přišel s 1–2–3, okopíroval z VisiCalcu funkce, které podle jeho názoru stály za to, a vynechal (nebo změnil) ty, které se mu nelíbily. Microsoft zase přidal funkce, které se Lotus rozhodl vypustit (a podporu Windows). (…) V zásadě proti patentům nic nemám (v některých oborech jsou zřejmě dobrá věc), ale jsem silně proti jejich vlivu na softwarový průmysl, který má své vlastní obranné mechanismy (…).“ Zároveň se ovšem Dan Bricklin netají s tím, že kdyby na tabulkový procesor přišel dnes, o patent by zažádal.

    Ale zpět k Bobovi Frankstonovi, který VisiCalc implementoval. Jeho [velice zajímavé] poznámky k implementaci VisiCalcu najdete na webu. Po rozpadu Software Arts nastoupil do firmy Lotus, kde pracoval na programu Lotus Express a faxovacích funkcích Lotus Notes. Následně na dva roky zakotvil ve firmě Slate, ve které pracoval na mobilních systémech a ovládání perem, načež odešel do Microsoftu, kde se pět let zabýval spotřebitelským využitím počítačů, především domácími sítěmi.

           

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

    18.8.2008 09:55 ESE | skóre: 9 | Brno
    Rozbalit Rozbalit vše Re: Bob Frankston - 2 (Programmers at Work)
    Moc pěkný rozhovor a myšlenky, které by se měly tesat do kamene. Díky.
    ISSN 1214-1267   www.czech-server.cz
    © 1999-2015 Nitemedia s. r. o. Všechna práva vyhrazena.