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ářů: 0
    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

    Bob Frankston - 2 (Programmers at Work)

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

    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.