Umění programování

Z Wikipedie, otevřené encyklopedie
Umění programování
AutorDonald Ervin Knuth
Původní názevThe Art of Computer Programming a Umění programování
ZeměSpojené státy americké
Jazykangličtina
Žánrpočítačová věda
VydavatelAddison-Wesley
Datum vydání1969 a 1968
Některá data mohou pocházet z datové položky.

Umění programování (anglicky The Art of Computer Programming, běžně zkracováno na TAOCP) je mnohasvazková odborná monografie amerického počítačového vědce Donalda Knutha. Obsahuje nejdůležitější znalosti z informatiky, popis základních algoritmů, jejich matematickou analýzu atd. Toto dílo je všeobecně považováno za základní příručku oboru; americký vědecký časopis American Scientist tuto zařadil do seznamu 100 nejdůležitějších „knih o vědě“ (zahrnuje i čistě popularizační díla, životopisy, několik románů ap.) 20. století; TAOCP je mezi dvanácti tituly v kategorii monografií o „fyzikálních vědách“, čímž se Knuth zařadil po bok osobností jako např. Paul Dirac či Albert Einstein.

Kniha ještě stále není dokončena, v současné době existují první tři svazky, na dalších autor pracuje. Původní autorův plán byl vydat celé dílo jako jeden svazek o deseti kapitolách, brzy však zjistil, že do jedné knihy se nevejde takové množství informací, které by tam chtěl uvést.

Existující svazky se zabývají základními algoritmy (první díl), generováním náhodných čísel a aritmetickými algoritmy (druhý díl) a řazením a vyhledáváním (třetí díl). V současné době autor pracuje na čtvrtém dílu (týká se kombinatorických metod), který bude zřejmě rozdělen do tří nebo čtyř svazků (procházení a backtracking, grafy a sítě, optimalizace a rekurze). Část tohoto dílu již vyšla ve formě „fasciklů“, které umožňují odborné veřejnosti upozornit na případné chyby. Po dokončení celého čtvrtého dílu má kolem roku 2015 následovat díl pátý, věnovaný syntaktickým algoritmům. Dosud není jasné, zda by měla monografie pokračovat ještě dalšími dvěma již specializovanějšími díly, týkajícími se formálních jazyků.

V roce 2008 vyšel první díl v českém překladu, v roce 2010 následovalo vydání českého překladu dílu druhého.

V průběhu práce na TAOCP Donald Knuth zjistil, že mu nevyhovuje kvalita dostupných typografických prostředků pro sazbu matematických výrazů. Z toho důvodu vytvořil počítačový typografický systém TeX, ve kterém jsou dnešní vydání knihy připravena.

U všech algoritmů v knize je uvedena implementace v jazyce symbolických adres fiktivního počítače nazvaného MIX (v novějším vydání pak jeho aktualizované RISC verze nazvané MMIX). Z výukových důvodů vzniklo mnoho emulátorů tohoto počítače (např. GNU MDK), které umožňují zkoušet tyto programy a řešit cvičení uvedená v knize.

Seznam dílů[editovat | editovat zdroj]

Aktuální vydání:

  • Volume 1: Fundamental Algorithms. Third Edition (Reading, Massachusetts: Addison-Wesley, 1997), xx+650pp. ISBN 0-201-89683-4
  • Volume 2: Seminumerical Algorithms. Third Edition (Reading, Massachusetts: Addison-Wesley, 1997), xiv+762pp. ISBN 0-201-89684-2
  • Volume 3: Sorting and Searching. Second Edition (Reading, Massachusetts: Addison-Wesley, 1998), xiv+780pp.+foldout. ISBN 0-201-89685-0
  • Volume 4A: Combinatorial Algorithms, Part 1. First Edition (Reading, Massachusetts: Addison-Wesley, 2011), xv+883pp. ISBN 0-201-03804-8
  • The Art of Computer Programming, Volumes 1-4A Boxed Set 3rd Edition (Reading, Massachusetts: Addison-Wesley, 2011), 3168pp. ISBN 0-321-75104-3
  • Volume 4, Fascicle 5: Mathematical Preliminaries Redux; Backtracking; Dancing Links. (Addison-Wesley, 2019), xiii+382pp. ISBN 978-0-13-467179-6
  • Volume 4, Fascicle 6: Satisfiability. (Addison-Wesley, 2015), xiii+310pp. ISBN 978-0-13-439760-3

Fascikly:

  • Volume 1, Fascicle 1: MMIX – A RISC Computer for the New Millennium. (Addison-Wesley, February 14, 2005) ISBN 0-201-85392-2 (ve čtvrtém vydání bude obsah začleněn do vlastního prvního svazku)
  • Volume 4, Fascicle 0: Boolean basics
  • Volume 4, Fascicle 1: Bitwise tricks and techniques
  • Volume 4, Fascicle 2: Generating All Tuples and Permutations. (Addison-Wesley, February 14, 2005) v+127pp, ISBN 0-201-85393-0
  • Volume 4, Fascicle 3: Generating All Combinations and Partitions. (Addison-Wesley, July 26, 2005) vi+150pp, ISBN 0-201-85394-9
  • Volume 4, Fascicle 4: Generating All Trees: History of Combinatorial Generation. (Addison-Wesley, February 6, 2006) vi+120pp, ISBN 0-321-33570-8

Český překlad:

Reference[editovat | editovat zdroj]

  1. Archivovaná kopie. knihy.cpress.cz [online]. [cit. 2010-02-17]. Dostupné v archivu pořízeném z originálu dne 2010-02-18. 
  2. Archivovaná kopie. knihy.cpress.cz [online]. [cit. 2010-02-17]. Dostupné v archivu pořízeném z originálu dne 2010-02-18. 

Externí odkazy[editovat | editovat zdroj]