Kodéry v práci - Coders at Work
![]() | tento článek příliš spoléhá na Reference na primární zdroje.Leden 2013) (Zjistěte, jak a kdy odstranit tuto zprávu šablony) ( |
![]() | |
Autor | Peter Seibel |
---|---|
Předmět | Vývoj softwaru |
Vydavatel | Apress |
Datum publikace | 16. září 2009 |
ISBN | 1-4302-1948-3 |
Coders at Work: Úvahy o řemesle programování (ISBN 1-430-21948-3) je kniha Petera Seibela z roku 2009 obsahující rozhovory s 15 vysoce kvalifikovanými programátory. Primární témata těchto rozhovorů zahrnují to, jak se dotázaní naučili programovat, jak ladit kód, jejich oblíbené jazyky a nástroje, jejich názory na gramotné programování, korektury, čtení kódu atd.
Rozhovory
- Jamie Zawinski
- Brad Fitzpatrick
- Pro studium Perlu doporučuje Perl vyššího řádu Mark Jason Dominus.
- Douglas Crockford
- Brendan Eich
- Joshua Bloch
- Joe Armstrong
- Simon Peyton Jones
- Zmínil příspěvek Davida Turnera o kombinátorech S-K (srov. SKI kombinátorový počet ). Kombinátory S-K představují způsob překladu a následného provedení lambda kalkulu. Turner ve své práci ukázal, jak přeložit lambda kalkul do tří kombinátorů S, K a I, které jsou jen uzavřenými lambda členy a I = SKK. Ve skutečnosti tedy vezmete lambda výraz a zkompilujete ho pouze na Ss a Ks.
- Připomíná svůj první příklad učení funkčního programování, když se zúčastnil kurzu Arthura Normana, který ukázal, jak vytvářet seznamy s dvojitým propojením bez jakýchkoli vedlejších účinků.
- Zmiňuje příspěvek „Může být programování osvobozeno od von Neumannova stylu“ od Johna Backuse.
- Chce, aby John Hughes napsal příspěvek do časopisu Journal of Functional Programming o tom, proč je statické psaní špatné. Hughes napsal populární referát s názvem „Proč je důležité funkční programování“.
- Uvádí datovou strukturu zvanou „zipper“, což je velmi užitečná funkční datová struktura. Peyton Jones také zmiňuje čtyřřádkový program, který Hughes napsal k výpočtu libovolného počtu číslic e líně.
- Uvádí, že postupná implementace a oboustranná fronta je problém prvního ročníku vysokoškolského programování. Pro souběžnou implementaci se zámkem na uzel je to problém s výzkumným papírem. S transakční pamětí je to zase vysokoškolský problém.
- Oblíbené knihy / autoři: Programování perel autor Jon Bentley, kapitola s názvem „Psaní programů pro knihu“ Brian Hayes z knihy Krásný kód kde zkoumá problém s určením, která strana přímky je daný bod, Umění počítačového programování podle Don Knuth, Čistě funkční datové struktury Chris Okasaki zkoumá, jak budovat datové struktury, jako jsou fronty a hromady, bez vedlejších účinků a přiměřených omezení složitosti, Struktura a interpretace počítačových programů Abelson a Sussman, Kompilace s pokračováním Andrew Appel, Disciplína programování autor Dijkstra, kniha Per Brinche Hansena o psaní souběžných operačních systémů.
- Peyton Jones zmiňuje papír Freda Brooka, který si přečetl a měl rád „Počítačový vědec jako Toolsmith“.
- Peter Norvig
- V letech 1972/73, kdy byl Norvig ještě na střední škole, našel Knuthův algoritmus pro zamíchání karet.
- Prvním zajímavým programem, který Norvig napsal, byla Hra o život.
- Napsal esej s názvem „Naučte se programovat za deset let“.
- Pokud jde o praktické aplikace akademických konceptů, zmiňuje, že součástí problému je, že akademici celý problém nevidí a další částí je vzdělávání. Pokud máte spoustu programátorů, kteří nerozumí tomu, co je monáda, a nezúčastnili se kurzů v teorii kategorií, existuje mezera.
- Mezi doporučované knihy / autory patří Knuth; Cormen, Leiserson a Rivest; Sally Goldman, Abelson a Sussman, kód dokončen.
- Knuth napsal esej o vývoji TeXu, kde hovoří o převrácení své čisté, destruktivní QA osobnosti a o tom, jak se snaží prolomit svůj vlastní kód.
- Hovoří o procesu přijímacího pohovoru ve společnosti Google a říká, že nejlepším signálem je, pokud někdo pracoval s jedním ze svých zaměstnanců a může za něj ručit. Hovoří také o „prediktoru obnovení“, který přebírá atributy obnovení, jako je zkušenost, vítězství v programovací soutěži, práce na projektu s otevřeným zdrojovým kódem atd., A předpovídá vhodnost. Zmínil také přiřazení skóre 1 až 4 tazateli a obecně odmítal kandidáty, kteří dostanou 1 od kteréhokoli z tazatelů, pokud někdo z Googlu nebojuje o jejich nábor.
- Guy Steele
- Spolupracoval s Gerald Sussman na sérii příspěvků nyní známých jako „The Lambda Papers“, které obsahovaly původní definici programovacího jazyka Scheme.
- Po získání diplomu z počítačové vědy Guy zmínil, že se rozhodl být čistě matematickým majorem, ale uvědomil si, že nemá vůbec žádnou intuici pro nekonečné dimenzionální Banachovy prostory, a to mu pomohlo přejít na aplikovaný matematický major.
- Oblíbení autoři a knihy: Knuth; Aho, Hopcroft a Ullman (Guy říká, že v této knize se naučil třídění podle „skutečných“), Gerald Weinberg na Psychologie počítačového programování„Fred Brook's Mythical Man-Month
- Navrhuje, že chcete navrhnout specifikaci toho, co je uprostřed, takovým způsobem, aby to bylo přirozeně také správné na hranicích, místo aby s hranicemi zacházelo jako se zvláštními případy.
- Algoritmus paralelního sběrače odpadků vyvinutý společností Dijkstra které se vejdou na půl stránky. David Gries napsal příspěvek pro CACM pomocí technik vyvinutých jeho studentem Susan Owicki k prokázání správnosti tohoto algoritmu.
- Dan Ingalls
- L Peter Deutsch
- Ken Thompson
- Fran Allen
- Bernie Cosell
- Donald Knuth