A programozás művészete

Az oldal jelenlegi verzióját még nem ellenőrizték tapasztalt közreműködők, és jelentősen eltérhet a 2022. június 30-án felülvizsgált verziótól ; az ellenőrzések 2 szerkesztést igényelnek .
A programozás művészete
A számítógépes programozás művészete
Szerző Donald Knuth
Műfaj Informatika
Eredeti nyelv angol
Az eredeti megjelent 1968
Tolmács S. G. Trigub, Yu. G. Gordienko, I. V. Krasikov és mások.
Sorozat A programozás művészete
Kiadó Williams / Addison–Wesley
Kiadás 1968 óta

A számítógép-programozás művészete [ 1] a  híres amerikai matematikus és informatikus, Donald Knuth alapvető monográfiája , amely a számítástechnikában használt legfontosabb algoritmusok figyelembevételével és elemzésével foglalkozik . 1999-ben a könyvet az évszázad tizenkét legjobb fizikai és matematikai monográfiája közé sorolták [2] .

A könyvírási projektet a szerző indította el 1962-ben. Kezdetben egy kötetben tervezték kiadni, de az anyag mennyisége olyan nagynak bizonyult, hogy a kötetek számát hétre emelték. Az első három kötet meglehetősen gyorsan megjelent: az 1. kötet - 1968-ban, a 2. kötet - 1969-ben, a 3. kötet - 1973-ban. Ezt 2005 februárjáig szünet követte, ebben a negyedik kötet első részét adta ki a szerző. Az a döntés született, hogy a negyedik kötet fennmaradó részeit évente körülbelül két alkalommal, külön számban adják ki, majd a teljes negyedik kötetet hivatalosan is kiadják. 2005-2009 között a 0., 1., 2., 3. és 4. számok jelentek meg, 2011-ben pedig a 4A. kötet, amely ezekből a számokból tartalmazta az információkat. Szintén 2005-ben jelent meg az 1. szám, „MMIX – A RISC Computer for the New Millennium”, amelyből származó információk az első kötet új, negyedik kiadásában fognak szerepelni. A 6. szám (2015-ben) és az 5. szám (2017-ben) a 4B kötet részeként jelent meg. Maga a 4B kötet 2022-ben jelent meg.

Mivel Knuth mindig is a Programozás művészetét tartotta élete fő projektjének, 1993-ban visszavonult azzal a szándékkal, hogy teljes mértékben a hiányzó részek megírására és a meglévők rendbetételére koncentráljon [3] . Úgy vélte, hogy a munka befejezése 20 évig tart [4] .

Történelem

A fordítóprogramok tervezésének elismert szakértőjeként 1962-ben Knuth könyvet kezdett írni a fordítóprogramok tervezéséről. Hamar rájött, hogy az anyag terjedelmét sokkal szélesebbre kell terjeszteni. 1965 júniusában befejezte annak az első változatának megírását, amit eredetileg ki akart adni egy tizenkét részből álló könyvben. A kézzel írt szöveg terjedelme 3000 oldal volt. Knuth számításai szerint ennek a kötetnek 600 nyomtatott oldalba kellett volna beleférnie, de – mint kiadója tájékoztatta – a tényleges mennyiség 2000 oldal lenne. E tekintetben a könyv szerkezetét több kötet, egyenként 1-2 szakasz javára módosították. Azóta az anyag folyamatos gyarapodása miatt úgy döntöttek, hogy a negyedik kötetet is külön könyvekre osztják: 4A, 4B, 4C, esetleg 4D. De ez a felosztás a jelek szerint nem lesz végleges, mivel a 7.1 és 7.2.1 szakaszok összesen már több mint 650 oldalt foglalnak el.

1976-ban Knuth elkészítette a második kötet második kiadását, amely újragépelést igényelt . A jövőbeni hasonló csalódások elkerülése érdekében Knuth 1977-ben megkezdte saját tipográfiai számítógépes szedőrendszerének fejlesztését. Számításai szerint a munkának nem kellett volna több hat hónapnál, de körülbelül tíz évbe telt, mire elkészült [5] . A rendszert TeX - nek hívták , és jelenleg a The Art of Programming összes kötetének szedésére használják. Ráadásul később a TeX a természettudományi cikkek és monográfiák írásának de facto szabványává vált.

Knuth többi könyvéhez hasonlóan a Programozás művészete is a védjegyét viseli: minden, a szövegben talált hibáért a szerző egy hexadecimális dollárt , azaz 2,56 dollárt (0x100 cent , 16 -os alap ) fizet. A könyv másik megkülönböztető vonása az önmegvalósítást szolgáló gyakorlatok bősége, különböző nehézségi fokú, az egyszerű „bemelegítő” feladatoktól a nyílt végű feladatokig. Az egyes gyakorlatok nehézségi fokát egy numerikus skálán értékelik 0-tól 50-ig. Tehát a korai kiadásokban Fermat Utolsó tételét 50-es számmal jelölték , de a harmadik kiadásban ezt az értékelést 45-re "leértékelték", mivel ezzel annak bizonyítása már megszűnt nyitott probléma lenni.

Az 1978-as „Válogatás és keresés” harmadik kötetének egyezményeinek összefoglalása (balra - értékelés, jobbra - rövid magyarázat)

Tartalom

A könyv megírásának eredeti terve az anyag következő bontását javasolta.

Valójában ezt a rendszert a harmadik kötetig bezárólag végrehajtották.

Jelenleg[ mikor? Az új rovatokat kezdetben külön-külön (kb. 128 oldal) tervezzük, évente körülbelül két számmal (a 0., 1., 2., 3. és 4. szám hasonlóképpen a 4A kötet megjelenése előtt jelent meg).

Géporientált példanyelv

A könyvben található példaprogramok "MIX assemblert" használnak, amelyet feltételezett MIX számítógépen való futtatásra terveztek. A harmadik kiadásban az elavult MIX -et az MMIX váltotta fel , amely teljes értékű RISC architektúrával rendelkezik. Létezik olyan szoftver , amely az (M)MIX gép emulációját biztosítja szabványos IBM-kompatibilis számítógépeken. A GNU Compiler Collection képes C/C++ kódot fordítani az MMIX célarchitektúrán.

Sok olvasót elriaszt az alacsony szintű nyelvhasználat ténye, de Knuth indokoltnak tartja választását, hiszen az architektúrához való kötés szükséges ahhoz, hogy pontosan meg lehessen ítélni az algoritmus olyan jellemzőit, mint a sebesség, a memóriafelhasználás, stb. E választás eredményeként azonban a célközönség erősen leszűkül. Ezen túlmenően hatóköre korlátozott, mint „receptkönyv” gyakorlati programozók számára, akik közül sokan nem ismerik az assembly nyelvet, és ha ismerik, nincs kedvük alacsony szintű algoritmusokat lefordítani a könyvből magas szintű nyelvekre. . Sok gyakorlati útmutatót adnak ki, amelyek ugyanazt az anyagot népszerűbben mutatják be.

Kritika

Knuth monográfiájának fő jellemzője, amely kedvezően különbözteti meg a többi programozással foglalkozó könyvtől, az anyag és az akadémiai prezentáció minőségének kiemelkedően magas léce, valamint a vizsgált kérdések elemzésének mélysége. Ennek köszönhetően igazi bestsellerré és referenciakönyvvé vált minden profi programozó számára [6] . Az American Scientist magazin felvette a The Art of Programming-t a 20. század 12 legjobb fizikai és matematikai monográfiájának listájára [2] , valamint Dirac kvantummechanikáról , Einstein a relativitáselméletről , Russell és Whitehead az alapokról szóló munkáit . a matematika és néhány másik [7] .

A könyv első kötetének harmadik kiadásának borítója Bill Gates idézetét tartalmazza : "Ha igazán jó programozónak tartod magad... olvasd el a Programozás művészetét (Knuth)... Ha el tudod olvasni ezt a munkát , akkor mindenképpen küldjön önéletrajzot" [8] .

Kiadások

Eredeti

Harmadik (aktuális)

A kötetek számának növekvő sorrendjében:

  • 1. kötet: Alapvető algoritmusok . Harmadik kiadás (Reading, Massachusetts: Addison-Wesley, 1997), xx+650 o. ISBN 0-201-89683-4
  • 1. kötet, 1. kötet: MMIX  – A RISC számítógép az új évezredre . (Addison-Wesley, 2005. február 14.) ISBN 0-201-85392-2 (az 1. kötet negyedik kiadásában lesz)
  • 2. kötet: Félnumerikus algoritmusok . Harmadik kiadás (Reading, Massachusetts: Addison-Wesley, 1997), xiv+762 pp. ISBN 0-201-89684-2
  • 3. kötet: Rendezés és keresés . Második kiadás (Reading, Massachusetts: Addison-Wesley, 1998), xiv+780 oldal+kihajtás. ISBN 0-201-89685-0
  • 4A. kötet: Kombinatorikus algoritmusok, 1. rész (Upper Saddle River, New Jersey: Addison-Wesley, 2011), xvi+883pp. ISBN 0-201-03804-8
  • 4B. kötet: Kombinatorikus algoritmusok, 2. rész (Upper Saddle River, New Jersey: Addison-Wesley, 2023), xviii+714pp. ISBN 0-201-03806-4
Előző

Megjelenés dátuma szerint:

  • 1. kötet , első kiadás, 1968. 634 o. ISBN 0-201-03801-3 .
  • 2. kötet , első kiadás, 1969, xi+624pp, ISBN 0-201-03802-1 .
  • 3. kötet , első kiadás, 1973, xi+723 oldal + középső hajtás, ISBN 0-201-03803-X
  • 1. kötet , második kiadás, 1973, xiii+634pp, ISBN 0-201-03809-9 .
  • 2. kötet , második kiadás, 1981, xiii+ 688 pp. ISBN 0-201-03822-6 .
  • 4. kötet, 2. fascicle: Az összes sor és permutáció generálása , (Addison-Wesley, 2005. február 14.) v+127pp, ISBN 0-201-85393-0
  • 4. kötet, 3. fascicle: Összes kombináció és partíció létrehozása . (Addison-Wesley, 2005. július 26.) vi+150pp, ISBN 0-201-85394-9
  • 4. kötet, 4. fascicle: Generating All Trees  – History of Combinatorial Generation , (Addison-Wesley, 2006. február 6.) vi+120pp, ISBN 0-321-33570-8
  • 4. kötet, 0. fascicle: Bevezetés a kombinatorikus algoritmusokba és a logikai függvényekbe , (Addison-Wesley Professional, 2008. április 28.) vi+240pp, ISBN 0-321-53496-4
  • 4. kötet, 1. fascicle: Bitenkénti trükkök és technikák; Bináris döntési diagramok (Addison-Wesley Professional, 2009. március 27.) viii+260pp, ISBN 0-321-58050-8
  • 4. kötet, 6. fascicle: Satisfiability , (Addison-Wesley, 2015. december 8.) xiii+310pp, ISBN 978-0-13-439760-3
  • Volume 4, Fascicle 5: Mathematical Preliminaries Redux; visszalépés; Dancing Links , (Addison-Wesley, 2017. június 16.) 320 oldal, ISBN 978-0-13-467179-6

Orosz fordítás

  • Knut D.E. A számítógépes programozás művészete. 1. kötet. Alapvető algoritmusok - M.: Mir, 1976. - 735 p.
  • Knut D.E. A számítógépes programozás művészete. 2. kötet. Megszerzett algoritmusok - M.: Mir, 1977. - 724 p.
  • Knut D.E. A számítógépes programozás művészete. 3. kötet Válogatás és keresés - M.: Mir, 1978. - 844 p.
  • Knut D. E. A programozás művészete. 1. kötet. Alapvető algoritmusok = The Art of Computer Programming. 1. kötet. Alapvető algoritmusok / szerk. S. G. Trigub (1. fej.), Yu. G. Gordienko (2. fej.) és I. V. Krasikova (2.5. és 2.6. szakasz). - 3. - Moszkva: Williams, 2002. - T. 1. - 720 p. — ISBN 5-8459-0080-8 .
  • Knut D. E. A számítógép-programozás művészete, 1. kötet, 1. szám. MMIX - A RISC Computer for the New Millennium. - M . : "Williams" , 2007. - 160 p. - ISBN 978-5-8459-1163-6 .
  • Knut D. E. A programozás művészete. 2. kötet. Az így kapott algoritmusok = The Art of Computer Programming. 2. kötet Félnumerikus algoritmusok / szerk. L. F. Kozachenko (3. fejezet, 4.6.4. és 4.7. szakasz), V. T. Tertysnij (4. fejezet) és I. V. Krasikov (4.6. szakasz). - 3. - Moszkva: Williams, 2001. - T. 2. - 832 p. — ISBN 5-8459-0081-6 .
  • Knut D. E. A programozás művészete. 3. kötet. Rendezés és keresés = The Art of Computer Programming. 3. kötet. Rendezés és keresés / szerk. V. T. Tertysnij (5. fejezet) és I. V. Krasikov (6. fejezet). - 2. kiadás - Moszkva: Williams, 2007. - T. 3. - 832 p. — ISBN 5-8459-0082-1 .
  • Knut D. E. A számítógép-programozás művészete, 4. kötet, A. Kombinatorikus algoritmusok, 1. rész = The Art of Computer Programming, Volume 4A: Combinatorial Algorithms, 1. rész / szerk. Yu. V. Kozachenko. - 1. - Moszkva: Williams, 2013. - T. 4. - 960 p.

Kapcsolódó könyvek

  • Martin Ruckert „The MMIX Supplement: Supplement to The Art of Computer Programming Volumes 1, 2, 3 by Donald E. Knuth”, 1. kiadás, (Addison-Wesley Professional, 2015. február 15.), 224 pp, ISBN-13: 978 -0133992311,

Jegyzetek

  1. Letöltve: 2008. június 14. Az eredetiből archiválva : 2009. február 26..
  2. 1 2 Morrison, Philip és Morrison, Phylis (1999), Körülbelül 100 könyv, amely a tudomány évszázadát alakította , amerikai tudós (Sigma Xi, The Scientific Research Society). - Vol. 87(6) , < http://www.americanscientist.org/bookshelf/pub/100-or-so-books-that-shaped-a-century-of-science > . Letöltve: 2008. január 11. Archiválva : 2008. december 28. a Wayback Machine -nél 
  3. David Walden. Donald E. Knuth – A. M. Turing-díjas . ACM . Letöltve: 2016. szeptember 6. Az eredetiből archiválva : 2017. szeptember 19.
  4. Knuth: Nyugdíj . Letöltve: 2008. június 14. Az eredetiből archiválva : 2008. június 26..
  5. A TeX-TeX Users Group története .
  6. Donald Knuth A számítógép-programozás művészete, 1. kötet, Basic Algorithms = The Art of Computer Programming, 1. kötet. Alapvető algoritmusok. - 3. kiadás - M .: "Williams", 2006. - S. 720. - ISBN 0-201-89683-4 , Az orosz fordítás kiadóitól
  7. A számítógépes programozás művészete . Letöltve: 2008. június 14. Az eredetiből archiválva : 2008. szeptember 4..
  8. Bill Gates egyszer azt mondta, hogy „mindenképpen küldjön egy önéletrajzot”, ha befejezi ezt az ördögien nehéz könyvet  , a Business Insidert . Az eredetiből archiválva : 2019. március 1. Letöltve: 2017. november 5.

Irodalom

Linkek