トップページへ > ソフトウェア工学の先駆者たちへ
前のページに戻る
Google  

ドナルド・クヌース

Donald Ervin Knuth

1938 -

アルゴリズムの芸術家TeXの作者

1999/10/04 掲載

クヌース先生のライフワーク

クヌース先生は1962年から執筆を始めた「アートとしてのプログラミング」 "The Art of Computer Programming"という、構想では全7巻におよぶ本をいまだに書き続けている。彼の潔癖性のため、どんどん内容はふくらみ現在その4巻目を執筆中だ。特に題名に含まれる"アート"という言葉に彼の思い入れのほどを知ることができる。実際チューリング賞の受賞講演で彼は、長々とサイエンスとアートという対比について論じている。コンピュータプログラミングとアートを結びつける発言はダイクストラや、 セイモア・クレイ などがしており、Linuxの作者 リーナス・トバルズ もインタビューのなかで「いいプログラムを開発するのは アートのようなもの」と言っている。しかし、そのアートという言葉への思い入れはクヌース先生が一番なのだ。

「私にとって、コンピュータ・リタラシィが重要である。私はコンピュータ・プログラムをエッセイのようにみなしており、いつの日にかその年の最高のプログラムにピュリッツァー賞を授けるようになることを夢見ている」
「クヌース先生のプログラム論」有澤誠編より

キャリアのスタートIBM650にささげる

ドナルド・クヌースは1938年米国ウイスコンシン州ミルウォーキーに生まれた。音楽が好きで音楽家になるつもりだったらしいが、奨学金をもらえることがわかってケース工科大学に入学した。最初物理学を専攻したが、実験が大の苦手ですぐに数学科に転籍した。大学のコンピュータセンターのIBM650でコンピュータに初めて接し、プログラミングを学んだ。1960年卒業したときは教授会の特別な計らいで学士号と修士号を同時に取得した。その後、カリフォルニア工科大学の博士課程に入り1963年数学博士号を授与される。またそのころ(1960年)同時にバロース社のコンサルタントをはじめ、当時やはりバロース社のフェローだった エズガー・ダイクストラと親交をもった。当時できたての構造化言語であるアルゴル60の実装作業を手伝ったりした。しばらくカリフォルニア工科大学で研究生活を送った後、1968年スタンフォード大学のコンピュータ科学の教授に迎えられた。1974年チューリング賞受賞。1993年名誉教授に退き、彼のライフワークである「アートとしてのプログラミング」の執筆に専念している。その第一巻冒頭の献辞は、愛する妻へささげるなどとあるのがふつうだが、 IBM650の名前が刻まれている。

「この数巻の書物をCase工科大学に設置されていた650型の計算機に情愛をこめて捧げる 数々の楽しく過ごした夕べを思い出しつつ」
「基本算法/基礎概念」より

根っからのコンピュータ科学者

クヌースはコンパイラの研究を非常に早くから手がけていて、そもそもライフワーク となった著作も出版社からコンパイラの解説書を書かないかと依頼があったのがきっかけだ。 そんな研究のなかでLR構文解析など貴重なアルゴリズムをいくつも発見している。また、数学の公理から論理的な帰結を導くクヌースーベンディックスのアルゴリズムや、文字列照合のクヌースーモリスープラットのアルゴリズムなどにも彼の名が残されている。

TeX(テフ):こだわりの一品

クヌース先生は自分の著作原稿の校正刷りが、職人が組版したものはきれいだったが、 コンピュータ組版に変えたら、数式などの印刷表現があまりにお粗末だったのに憤慨して、 自分で組版(タイプセッティング)システムをつくることにした。 これはちょっとふつうの人にはできないことで、お皿が気に入らないので 自分でつくるため陶芸家になってしまったみたいな話なのだ。 TeXとMETAFONTは、彼の完璧性ゆえに9年の歳月をかけて作った こだわりの一品となった。 ちなみにTeXはTechnologyを表すギリシャ語からとったとのこと。さらにクヌース先生はこのコンピュータ組版システムを フリーソフトとして公開した ので、あっというまに学術関係者に広まり、今では数式の出てくる本にはなくてはならないものになっている(TeXを改良したLaTeXのほうが今ではよく使われているかもしれない)。クヌース先生はTeXを作る際に印刷技術を原点から調べ上げ、フォントについても "The Letter S"という論文でアルファベットのSの形を徹底的に研究した。かれがもし偉大だとすれば、それは「数学の抽象化思考をできる頭脳」と、「物事への徹底したこだわり性格」が彼の人格のなかで一体化していることだろう。 TeXは最初DECsystem10上で開発されたが、当時DECの副社長だった ゴードン・ベルはクヌース先生のTeXを絶賛した。

「ドン・クヌースのタウ・イプシロン・カイ(TeX)は、製版・印刷界における今世紀最大の発明になる可能性がある。コンピュータ写植の標準語を生み出し、グーテンベルグの活字印刷と並ぶ重要度がある」
「クヌース先生のプログラム論」有澤誠編よ
注:2003/12/05 TeXの発音表記について

TeXは日本ではギリシャ語の発音を優先して”テフ”というのが一般的ですが、実際にクヌース先生に教わったことのある方からの投稿で”テック”という言い方の方が妥当ではないかとのご指摘がありました。(投稿欄参照)いきなり変えると混乱しそうなので、ちょっとこの件はしばらく保留にさせていただきます

パイプオルガン奏者

クヌース先生の自宅には5メートルを超えるパイプオルガンがあるそうだ。 これもふつうではない彼のこだわりをうかがわせる話ではあるが、 クヌース先生のおとうさんがそもそも教会のオルガン奏者だったそうで、 彼も小さい頃から音楽に親しんでいてクヌース自身も教会でオルガンを弾いている。 かれはライフワークが一段落したら音楽の世界に戻りたいと言っている。

「計算機を使ってオルガン音楽を作曲したいと思っている。もし長生きできて時間に余裕があるのなら、黙示録にもとづいた大曲を作りたい。旋律一つ一つが黙示録に出てくる象徴と対応した曲にしたい」
「クヌース先生のプログラム論」有澤誠編より

黙示録にもとづいた大曲とは?これは確実に2つ目のライフワークになってしまう。 かれの余生もまた、どこまでも壮大な物語りなのである。

参考文献および関連書籍の紹介
「クヌース先生のプログラム論」 有澤誠編 共立出版 1991年5月  2400円
「文芸的プログラミング」 Donald E. Knuth著 有澤誠訳 アスキー出版局 1994年3月  4500円
「クヌース先生のドキュメント纂法」 Donald E. Knuth著 有澤誠訳 共立出版 1989年12月  2500円
「The Art of Computer Programming Volume1 Fundamental Algorithms Third Edition 」 Donald E. Knuth著 アスキー 2004年2月  10290円
基本算法(基礎概念/情報構造)のこの新約が出たので、こちらのほうをお勧めします
「コンピュータの時代を開いた天才たち」 デニス・シャシャ/キャシー・ラゼール著 竹内郁雄/鈴木良尚訳 日経BP社 1998年11月  2400円
インタビューをベースに、14人の偉人の業績を紹介している。なかなかふだんは聞けないような話も入っているのでおもしろい。
「パーソナルコンピュータを創ってきた人々」 脇英世著 ソフトバンク 1998年11月  1400円
インターネットソースの紹介
移行前のコメント
2004/03/17
クヌース氏による「コンピュータ科学者がめったに語らないこと」という本が日本で出版されました。コンピュータ科学の内容もありますが、注目すべきは宗教的な考察の部分でしょう。(クヌース氏は敬虔なキリスト教徒です)
私はキリスト教徒ではないので、疑問をぶつけながら読むと言うスタイルをとりましたが、それでもクヌース氏の洞察の深さには感嘆しました。
「人工知能は可能か」「神は存在するのか」といった疑問を持つかたには是非読んでいただきたいと思います。
2004/01/06
TeXの発音は様々なところで、それこそ喧嘩腰で「てふ」派と「てっく」派が争っていますし、他にも「てっひ」などの説もあります。ただ、それらはいずれもギリシャ語でのTeXの発音を日本人が頑張って文字に表そうとした結果細かな違いが出ただけであって、そんなに目くじら立てる問題でもないのではないかと思います。どっちみち、正しい発音は日本語の音声表現とは相容れないような気もします。原語に忠実であろうとする「てふ」とそもそも英語として読もうとする「てっく」、意味が通じれば好きなほうを使えばいいと思います。
個人的には、ドイツ語のchの発音、喉の奥から「クフ」とうなるような音が近いかな、と思いますが、それをTeXと読むたびに発音していると、話す側も聞く側も疲れると思います。
2003/12/5
たまたまGoogleでクヌース先生に関してサーチしたら本ページを見つけました。短く簡潔に、かつよくまとまった紹介だと感心いたしました。

一点、昔クヌース先生の授業を受けたり、個人的にお話した経験から一言コメントさせてください。TeXにかんして、「テフ」と読み方がふってありますが、これはもうやめて頂きたいと思います。The TeXBookに書いてある「X」の正式な発音方法は、まあ言ってみればクヌース先生お得意のジョークであり、ご本人も【tek】と発音されていますので、これは日本語でも「テック」と読んでほしいところです。もし正式(?)に発音するにしても、Bachなどと同じく「テッハ」に近いものでしょうし、「テフ」では絶対にコンピュータ画面は曇らないでしょう(TeXBookの記述による)。日本人だけがジョークを真に受け、しかも正しく発音できないため、そのような気の抜けたような呼び方をしているのは実に情けないと思います。

LaTeXも大多数の人たちは「レイテック」と読んでいます。日本語で「ラテック」と読むのはまだいいと思いますが、「ラテフ」と読んでいる人が余りにも多いので、これも情けなくなります。

つまらないことで恐縮ですが、コメントさせていただきました。

そもそも今回サーチしたのは、クヌース先生のThe Art of Computer Programmingが、アスキー出版から1、2巻は改訳出版、未完だった3巻もついに翻訳出版されるということを聞いたからです。今までに出されていたのはひどい訳で、これも情けない思いをしていただけに、今度の出版により、読者が増え、日本のコンピュータサイエンスの基礎力がアップすることを願っている次第です。

 

 

コメントの投稿と一覧

感想、ご意見など自由にご記入ください