1. 身近な「論文の数式組版・アルゴリズム教科書」を逆算する
世界中の数学・物理・CS の論文や教科書の美しい数式組版 (TeX / LaTeX)、プログラマが「いつか読みたい」と憧れる究極の教科書「The Art of Computer Programming (TAOCP)」。両方を作ったのが ドナルド・クヌース。
CS の標準教科書と数式組版が違っていた可能性。クヌースの TAOCP はビル・ゲイツが「読み終えた人は私を雇う」と言ったほどの難書。
2. 100 文字でわかる
ドナルド・クヌース (1938〜)。米国 CS 学者、スタンフォード名誉教授。1962 年から「The Art of Computer Programming」執筆 (現在第 4 巻まで、最終巻まで未完)。1978 年 TeX 組版システム発表。1974 年チューリング賞。
3. 500 文字でわかる
1938 年米国生まれ、1963 年カリフォルニア工科大学博士。1962 年、24 歳で「The Art of Computer Programming (TAOCP)」執筆を開始 — アルゴリズム・データ構造を網羅する究極の教科書を目指す。1968 年に第 1 巻、1973 年第 3 巻まで出版、当時の CS 界に衝撃。1976 年、第 2 巻の組版品質に不満を持ち、自分で組版システムを作ることに決定 — それが TeX。1978 年 TeX 完成、Knuth 自身が世界の数式組版の標準を定義。世界中の数学・物理・CS 論文の組版に使用。1974 年、若くしてチューリング賞。TAOCP は現在第 4 巻まで、最終巻 (第 5 巻〜第 7 巻) は彼が生きている間に終わるか不明。「TeX のバージョン番号は π に近づける (現在 3.14159265…)、METAFONT のバージョンは e に近づける」というユーモアで知られる。TeX のバグを発見した人に「Knuth Reward Check」(2.56 ドル = 0x100 セント) を出す という仕組みも有名。
4. もっと詳しく
TAOCP 執筆 (1962-)
「アルゴリズムとデータ構造の決定版を書く」 という野心で、1962 年に開始。当初の構想は 7 巻、現在第 4 巻 (4A、4B、4C 等のサブ巻) まで完成。ビル・ゲイツ「TAOCP を全部読み終えた人は私の会社で雇う」、しかし「読破した人」は世界に数人と言われる。
TeX の発明 (1978)
TAOCP 第 2 巻の出版品質が悪く、不満を持った彼は「自分で組版システムを作る」と決断。1978 年に TeX 完成、世界の数式組版の標準に。LaTeX (1985 年 Leslie Lamport) はその上に乗ったマクロ集。現在もほぼ全ての数学・物理・CS の論文が TeX/LaTeX で書かれる。
ユーモアと完璧主義
TeX のバグを見つけた人には Knuth Reward Check (2.56 ドル = 256 セント = 0x100)。多くの人が「お金より、Knuth から個人的に手紙をもらえることが価値」と、Reward Check を換金せずに保管。TeX のバージョン番号は π に近づける、METAFONT は e に、彼独特のユーモア。
「電子メール禁止」と完全孤独研究
1990 年から電子メール禁止を宣言、深く考える時間を確保するため。「急ぎでない仕事は秘書に依頼」「深く考える研究には集中が必要」が哲学。スタンフォード大学キャンパスを歩き、自宅で執筆を続ける生活。現在 87 歳、TAOCP 執筆を続けている。
5. 現代への影響
- TeX / LaTeX: 世界の数式組版標準
- TAOCP: アルゴリズムの究極参考書
- 「文芸的プログラミング」: コードと文書を統合する手法を提唱
- チューリング賞 (1974): 36 歳という若さで
- 完璧主義の象徴: 50 年 1 つの教科書を書き続ける
6. もっと知りたい人へ
- Wikipedia (日本語): ドナルド・クヌース
- Stanford 個人ページ: https://www-cs-faculty.stanford.edu/~knuth/
- TAOCP: 第 1-4B 巻まで日本語訳あり (アスキードワンゴ等)
7. 次の話
EP.58 では エドガー・ダイクストラ を扱います。最短経路アルゴリズム (Google Maps の元) と「GO TO 文有害論」で構造化プログラミングを確立した CS 学者。
この記事の感想を教えてください
あなたの 1 クリックで、本当にこの記事は更新されます。「もっと詳しく」「続編希望」が一定数集まった記事は、 ふくふくが 実際に内容を拡充したり続編記事を公開 します。 送信したリアクションはお使いのブラウザに記録され、再カウントされません。