The Art of Computer Programming
The Art of Computer Programming | ||
---|---|---|
著者 | ドナルド・クヌースDonald.E. Knuth | |
発行日 | (原著)Volume 1(first edition 1968年、third edition 1997年)Volume 2(first edition1969年、third edition1997年)Volume 3(first edition 1973年、second edition1998年)Volume 4(2011年~(分冊刊行中)) | |
発行元 | アディソン-ウェスリー(原書) | |
ジャンル | 学術書(計算機科学) | |
国 |
![]() | |
言語 | 英語 | |
形態 | 上製本 | |
公式サイト | http://www-cs-faculty.stanford.edu/~knuth/ | |
コード |
「#書籍」を参照 | |
![]() | ||
![]() | ||
![]() | ||
|
『The Art of Computer Programming』は、コンピュータプログラミングのに関する書籍のシリーズである。様々なアルゴリズムについて、その背景や歴史まで踏み込んだ徹底的な解説を行っており、アルゴリズム解析も行う。著者のドナルド・クヌース (Donald.E. Knuth) は、自身のライフワークと位置づけている。
概要[編集]
7巻のプロジェクトであり、現在、第1巻から3巻までと4巻の分冊が刊行されている。
このプロジェクトは1962年に始まり、当初は12章から成る1巻で完結するつもりで着手されたのだが、その後に7巻の計画に膨らみ、最初の3巻は1968年、1969年、1973年に出版された。第4巻の執筆は1973年に開始されたのだが、1976年に2巻の第2版の準備をしていた際に、初版のような鉛版による組版 (en:Hot metal typesetting) が行われなくなっていてその仕上がりにクヌースは納得できず、自分で組版システムの TeX を(当初は1978年のサバティカルが終わるまでには完全に仕上げるつもりで)作り始めてしまったので、その第4巻の執筆が先送りになった。
今後の計画についてはwebページで確認できる[1]が、おおむね執筆開始当初の構想と変わっておらず、5巻は構文的 (syntactic) アルゴリズムについてで、9章が字句スキャナ、10章が(文字列)解析の技術、6巻は文脈自由文法の理論、7巻がコンパイラ技術となっている。ただし位置付けとして、5巻までの内容は central core of computer programming for sequential machines であるのに対し、6・7巻の内容は important but more specialized である、としている。[注釈 1]
- 評価
その全体構想から見れば現在も未完のシリーズであるが、すでに偉業とみなされている。(3巻初版までが刊行されていた1974年の段階で受賞したチューリング賞(コンピュータ界のノーベル賞とも位置づけられている賞)の受賞理由のひとつとして本シリーズが含まれている。)
- 日本語訳
1970年代〜1980年代にサイエンス社から出版された旧日本語訳版は、原著2巻相当分の4巻までしか出ていない。専門用語について可能な限りカタカナ語を使わず漢字に訳すという無理なことをしている[2]
その後、21世紀に入った後に改めて、アスキーから新しい日本語訳版が出版された。こちらの翻訳は前述のような無理をせず、カタカナですでに通用している表現はそのままカタカナになっている。2007年9月までに3巻までと改訂版分冊1巻、4巻の分冊2,3が刊行されていた。 その後、KADOKAWAドワンゴに在籍する元アスキーの編集者が担当する「アスキードワンゴ」レーベル[3]により、2015年6月の1巻再刊から再開され、2017年3月に旧4巻0-4のまとまった分冊である4A巻が刊行されている[4]。
- 補足
Vol.4 Fascicle 1:2009年では、湊真一が考案したデータ構造「ZDD」 も項目として掲載され解説された[5]。
書籍[編集]
- 原著
- The Art of Computer Programming Volume 1 Fundamental Algorithms Third Edition, Donald E.Knuth, Addison-Wesley, 1997, ISBN 978-0201896831
- The Art Of Computer Programming Volume 1 Fascicle 1 MMIX -- A RISC Computer For The New Millennium, Donald E.Knuth, Addison-Wesley, 2005, ISBN 978-0201853926
- The Art of Computer Programming Volume 2 Seminumerical Algorithms Third Edition, Donald E.Knuth, Addison-Wesley, 1997, ISBN 978-0201896848
- The Art of Computer Programming Volume 3 Sorting and Searching Second Edition, Donald E.Knuth, Addison-Wesley, 1998, ISBN 978-0201896855
- The Art Of Computer Programming Volume 4 Fascicle 2 Generating All Tuples And Permutations, Donald E.Knuth, Addison-Wesley, 2005, ISBN 978-0201853933
- The art Of Computer Programming Volume 4 Fascicle 3 Generating All Combinations And Partitions, Donald E.Knuth, Addison-Wesley, 2005, ISBN 978-0201853940
- The Art of Computer Programming Volume 4 Fascicle 4 Generating All Trees -- History of Combinatorial Generation, Donald E.Knuth, Addison-Wesley, 2006, ISBN 978-0321335708
- The Art of Computer Programming Volume 4 Fascicle 0 Introduction to Combinatorial Algorithms and Boolean Functions, Donald E.Knuth, Addison-Wesley, 2008, ISBN 978-0321534965
- The Art of Computer Programming Volume 4 Fascicle 6 Satisfiability, Donald E.Knuth, Addison-Wesley, 2015, ISBN 978-0134397603
- The Art of Computer Programming Volume 4 Fascicle 5 Mathematical Preliminaries Redux; Backtracking; Dancing Links, Donald E.Knuth, Addison-Wesley, 2019, ISBN 978-0134671796
- 日本語訳版
- 旧版(サイエンス社版)
- 「基本算法 I」~基礎概念~ [3] ISBN 4-7819-0302-9
- 「基本算法 II」~情報構造~ [4] ISBN 4-7819-0303-7
- 「準数値算法」~乱数~ [5] ISBN 4-7819-0304-5
- 「準数値算法」~算術演算~ [6] ISBN 4-7819-0426-2
- KADOKAWA版(旧アスキー版)
- 『The Art of Computer Programming Volume 1 Fundamental Algorithms Third Edition 日本語版』、Donald E.Knuth(著)、有澤誠(監訳)、和田英一(監訳)、青木孝(訳)、筧一彦(訳)、鈴木健一(訳)、長尾高弘(翻訳)、アスキー、2004年、ISBN 978-4-7561-4411-9
- 『The Art of Computer Programming Volume 1 Fascicle 1 MMIX--A RISC Computer for the New Millennium 日本語版』、Donald E.Knuth(著)、有澤誠(監訳)、和田英一(監訳)、アスキー、2006年、ISBN 978-4-7561-4712-7
- 『The Art of Computer Programming Volume 2 Seminumerical algorithms Third Edition 日本語版』、Donald E.Knuth(著)、有澤誠(監訳)、和田英一(監訳)、斎藤博昭(訳)、長尾高弘(訳)、松井祥悟(訳)、松井孝雄(訳)、山内斉(訳)、アスキー、2004年、ISBN 978-4-7561-4543-7
- 『The Art of Computer Programming Volume 3 Sorting and Searching Second Edition 日本語版』、Donald E.Knuth(著)、有澤誠(監訳)、和田英一(監訳)、アスキー、2006年、ISBN 978-4-7561-4614-4
- 『The Art of Computer Programming Volume 4A Combinatorial Algorithms Part1 日本語版』、Donald E.Knuth(著)、有澤誠(監訳)、和田英一(監訳)、筧 一彦 (翻訳)、 小出 洋 (翻訳)、Kadokawa、2017年、ISBN 978-4048930550
- 旧版(サイエンス社版)
脚注[編集]
- ^ The Art of Computer Programming (TAOCP) [1]
- ^ 何を考えたか、当時はそういう傾向もあったのか、当時の数学界における慣習に沿ったやり方を採用して無理矢理に漢字で押し通そうとしている。その判断が仇になっており、実際に読んで見ればわかるが、数学において「群」や「圏」といった語が使われているのとは異なり、「算譜」をはじめとする「算なんとか」といった多数の造語を勝手につくるなどということを訳者がやらかしていて、現在日本で使われている用語とズレてしまっていて理解の妨げになったり、ソースコード中で識別子として使われている英単語が本文中で漢字表記されてしまい本文とソースコードの関係が理解しづらいなどさまざまな問題が起きており、現代のコンピュータの専門家や技術者にはかなり使いづらい翻訳本となっている。
- ^ KADOKAWA http://asciidwango.jp/
- ^ 4A巻 https://www.amazon.co.jp/dp/4048930559/
- ^ 湊真一 [2]
- ^ この内容は、ドラゴンブック(en:Compilers:_Principles,_Techniques,_and_Tools。1986年刊)等、この40年の間に、すでにさまざまな著者によって書籍が充実した分野である。