ドナルド・クヌヌスプログラミングの芞術はどのように䜜られたのか33.38.39 / 97

「息子が生たれる前に本を完成させなければなりたせんでした。 圌は40歳になりたしたが、ただ完成しおいたせん。」







倧孊での3幎目に、コンピュヌタヌでいく぀かの授業をするように頌たれたした。 あるグルヌプは、カリフォルニア工科倧孊California Institute of Technologyはコンピュヌタヌに関連するこずを䜕も教えおいなかったず蚀っおいたした。 「では、なぜ倧孊でいく぀かのクラスを開催しないのですか」圌らは私に尋ねたした。 だから私は䞀床だけレッスンを行い、倧孊を卒業する前に、圌らは卒業盎埌に助教授ずしお私を雇うこずにしたした。



通垞、倧孊はMITを陀き、独自の卒業生を雇甚したせん。 しかし、ご存知のように、近芪亀配近芪盞姊を行うのは良くないず考えられおいたす。なぜなら、分離は1぀の哲孊で行き詰たり、「新鮮な血」を望むからです。 しかし、カリフォルニア工科倧孊は、「血によっお」私を奇劙で異質なものだず感じたした、そしお、これは私を雇うための積極的な議論でした。



本のアむデアはどのようにしお生たれたのか









1:04䞀方、1962幎1月、倧孊で2幎目、劻ずの結婚1幎目がありたした。 私たちは1961幎の倏に結婚したした。ゞルず私は6か月間至犏の生掻を送りたした。 私たちはハネムヌンを過ごした埌、コンピュヌタヌサむ゚ンスに関する本を曞くこずに没頭するたで、䞀緒にいる時間がありたした。



1962幎1月、Addison-Wesleyの線集者が倕食䌚に招埅しおくれお、「コンパむラに぀いおの本を曞いおほしい」ず蚀った。 コンパむラヌは、私が前幎党䜓でバロヌズのためにしたこずです。



Addison-Wesleyは、コンピュヌタヌ文孊に特化したアメリカの出版瀟であり、以前は科孊文孊も出版しおいたす。 ピア゜ンのメディアの懞念に属したす。



「コンパむラの曞き方を知っおいる人ずしお私たちに勧められお、本を曞くこずを考えおいたすか」私は以前、あらゆる皮類の新聞や雑誌で働いおいたしたが、いく぀かの蚘事を曞きたした。 私はい぀も曞くのが奜きでした。 それで、私のお気に入りの教科曞の出版瀟であるAddison-Wesleyは、本を曞くように頌みたした。



3:00すぐに家に垰り、12の章のタむトルを曞き留めお、その本だけでいいず思った。 本をかなり早く完成できるず思った。 ある倧孊ぞの招埅に応じお1964幎に曞いた手玙がありたす。「残念ながら、息子が生たれる前に本を完成させなければならないので、今幎はスタンフォヌド倧孊に行くこずができたせん。



今、圌は40歳であり、私はただ本を終えおいたせん...私はそれをより速く終えたいず思いたす、しかし、私はどのように、そしおどれくらいの時間を必芁ずするかわかりたせんでした。 コンパむラに関する本を曞くように頌たれたしたが、「ちょっず埅っおください。コンピュヌタプログラミングでは、知っおおくべきこずがたくさんありたす。」 そしお圌らは、プログラミングに関連する他のトピックが本で取り䞊げられおいおも構わないず蚀った。



私たちはこの本を「コンピュヌタプログラミングの芞術」ず呌ぶこずにしたした。 出版瀟はその名前が気に入りたした。



「プログラミングの芞術」を曞くこずにしたのは、曞くのが奜きだからではなく、そのような本が緊急に必芁だず感じたからです。 圓時はそのようなものは䜕もありたせんでした。 私はいく぀かのコンパむラを曞いおおり、それらに぀いお倚くを知っおいたしたが、この分野では独自のアむデアを思い぀きたせんでした。 私は他の人から孊んだアむデアを適甚したした。 そしお、コンパむラに぀いおの本を誰が曞けるのか疑問に思い始めたしたが、すべおの候補者は偏りがあり、アプロヌチのみに焊点を圓おおいるこずがわかりたした。



私は、圌が偏っお曞かないような仕事にふさわしい候補者を1人だけ芋぀けたした-圌自身。



本のサむズを過小評䟡する









目次のドラフトには12の章が含たれおいたした。 初日から、私は章ごずに章を曞き始め、より倚くの資料を曞き始めたした。その間、コンピュヌタヌサむ゚ンスは急速に発展しおいたした。 䜜業がどれくらい続くかを私は非垞に過小評䟡しおいたこずが刀明したした。 執筆の終わりに、私は自分のノヌトを芋お、それらはすべお手曞きで曞かれおいお、私のノヌトは本そのものよりもはるかに倚いように思えたした。 実際、私は...第12章の終わりに達し、3,000ペヌゞありたした。 そしお、私はちょうど64〜65章を蚈画したした



私は3,000の手曞きペヌゞを蓄積したした。 私はAddison-Wesleyに手玙を曞き、私が発掘した資料で本を補うかどうか圌らが気にしないかず尋ねたした。 圌らは答えたした「さあ」。



画像








1:363,000ペヌゞ。 タむプラむタヌを手に取り、タむピングを始めたした。 最初の章には400ペヌゞのマシンテキストがあり、これは2぀の間隔でありたした。 ずころで、私はIBM Selectricで入力しおいたした。 圓時、それは最高のタむプラむタヌの䞀人でした。 埌で蚀われたように、私はそのような機械の䌁業賌入者ではなく、最初の個人賌入者でした。 矎しさは、「バッファ」が実装されたこずです。 ぀たり、前の文字がただ印刷されおいないずきに新しい文字を入力できたす。 展瀺䌚で初めおこのような機械を芋お、いく぀かの文章を印刷しようずしたした。 嬉しかったです。 それで私はSelectricを賌入し、カリフォルニア工科倧孊での論文に䜿甚したした。 それはたるでキヌボヌドの埌ろの男のようでした。ピアノ、サク゜フォンを挔奏したので、それはただのキヌを持぀別のマシンでした。



3:50タむピングを開始し、12の最初の章をタむプし、それをAddison-Wesleyに送り、「これが私の本の最初の章です。」 それから1962幎に最初に私に話をした線集者である人から手玙を受け取りたした。しかし、それは1966幎で、その瞬間にはすでに3,000ペヌゞず入力された章があったず思いたす。 そしお今、私は再び同じ男を聞いたが、圌はこの時間の間に䌚瀟で3぀のステップを昇進されたので、圌は圌の方法で䞊がっおいた。 そしお、あなたは知っおいる、圌は蚀った「䜕が起こっおいるの 「あなたの本、ドン、あなたの本が2000ペヌゞ以䞊かかるこずを理解しおいたすか」



なに 私は本に600〜700ペヌゞあるず思った。 私は蚀った、知っおいる、私は思った「私は䜕幎も本を読んできたした。 この本がこんなに長くなるずはどういうこずでしょうか「だから、倧孊の1幎生で憧れ、印刷したオリゞナルの本である「トヌマスの埮積分」マタンの教科曞に戻りたした。



私が印刷した5ペヌゞは本の1ペヌゞになるず感じたしたが、圌らは「いいえ、いいえ、1.5察1」ず蚀いたした。 信じられたせんでした。 そこで、「トヌマスの埮積分」を取り、そこからタむプラむタヌで2ペヌゞ印刷したした。 正確に、3ペヌゞのタむプラむタヌで曞かれたテキストは2ペヌゞになりたした。



私は予想より3倍倧きい本を持っおいたした。 このこずを完了するのに時間がかかったのも䞍思議ではありたせん。 しかし、圌らは蚀った「誰もこの本をマスタヌするこずはできたせん。」 ご存知のように、すべおの出版瀟は、卵や䜕かの歎史に関する原皿を10巻で送っおくれる教授に぀いおの恐怖物語を持っおいたすが、圌らは嘘を぀いおいたす。 それで圌らはどうやっおこれを回避するのでしょうか



初版









私たちの将来の蚈画に぀いお話し合うためにマサチュヌセッツに飛んだ。 出版瀟の人たちは、「たあ、私たちは䜕かを思い぀くだろう」ず蚀ったが、圌らはすでにこの章を本圓に気に入っおおり、それを本圓に疑っおいない数人に芋せるこずができた。 しかし、昌食時に、私は圓時の線集者であるノルム・スタトンに、個人的なメモ「厳栌な予算の制玄」などに気づきたした。 圌はどうやら私をこのニュヌスにそっず連れお行きたかったようです。぀たり、挔習ぞの答えを曞くのではなく、プロのむラストの代わりに、私自身が原皿に描いたものを挿入するこずを提案したした。 圌らは圌らに「魅了された」ず蚀った。 その時、私は圌らが酔っぱらったか、投石したず正盎に思った。 「いいえ」ず私は蚀いたした、「なぜ私はアディ゜ン・りェスリヌが奜きなのか知っおいたすか」 なぜなら圌らの本の品質はたさにそれが本来あるべきものだからです-壮倧であり、それらの䞭のむラストは最高です。 そしお、それが私が皆さんず契玄を結んだ理由です」この䌚話の埌、私の線集者が私に近づいお蚀った



「あなたは倧胆䞍敵で粘り匷く、キャンペヌンディレクタヌの前に立っお、よくやった、少幎」



などなど。 その埌、圌らはこの本を3巻で印刷するこずを決めたが、その埌意芋が倉わり、7巻でそれをリリヌスするこずを決めた...䞀般に、7巻で「The Art of Programming」を出版する蚈画は承認された。 そしお、私たちはただこの蚈画を公匏に順守しおいたすが、過去30幎間で3冊のみがリリヌスされおいたす。 今、私は4番目に取り組んでいたす。



コンピュヌタサむ゚ンスは非垞に広倧な分野であり、先ほど曞いた3000ペヌゞは1965幎にのみそのステヌタスを説明しおいたした。 しかし、それ以来倚くの時間が経ちたしたが、私はその他の偎面のいく぀かを研究したしたが、それも本に含める䟡倀がありたした。 したがっお、さらにいく぀かの段階が通過したした。 たた、連䞭は、本に挔習ぞの答えを含めないように私に尋ねたした。 それらはペヌパヌバックで別々に出版され、タむプラむタヌで印刷されるず考えられおいたした。 しかし、線集者は残りのテキストずずもに回答を印刷するこずにしたした。 そしお最埌に、1968幎に最初のボリュヌムがリリヌスされたした。 そしお、それを控えめに、高䟡に-32ドルず芋積もっおいたす 残りのコンピュヌタヌサむ゚ンスの本が10ドルオフになるず。 そしお驚くべきこずに、この本は倧成功を収めた最初の幎に、50の倧孊が教科曞ずしお承認したした。 読むのは簡単ではありたせんでしたが、このタむプの本はこの分野で長い間欠けおいたこずが蚌明されたした。



そしお、「プログラミングの芞術」の物語が始たりたした。 1968幎に、最初のボリュヌムのコピヌを最初に受け取りたした。 それ以来、玄40䞇郚のコピヌが英語で販売され、他の蚀語でも販売されおいたす。 この本がずおも人気になるずは信じられたせんでした。 しかし、もし1962幎に68時に私がただそれに取り組み続けるこずを知っおいたら、私は間違いなくこのベンチャヌを攟棄するでしょう。 正盎に蚀うず、私は息子が生たれる盎前の1965幎に終わるず思っおいたした。



継続するには...



翻蚳アレナ・カルナりコワ、カティア・シェルシ​​ュネワ、ニキヌタ・グラディシェフ



続きを読む







97ドナルドクヌヌスビデオのリスト
Youtubeプレむリスト



1. 家族歎

2. 読曞ず孊校の孊習

3. 私の母

4.䞡芪の財政

5.高校ぞの関心

6.高校のオタクであるこず

7. ナヌモアのセンス

8.重みず枬定のポトゞヌビヌシステム

9. 自分自身を蚌明する必芁性を感じる

11.倧孊生掻バスケットボヌル管理システム

12.倧孊生掻友愛制床

13.劻のゞルず䌚う

14.倧孊での聖曞研究ず個人的な挑戊の時

15.ケヌスでの課倖掻動

16.ケヌスで倧孊院クラスを取る

17.物理孊、溶接、倩文孊、数孊

18. Caseの数孊教垫ず難しい問題

19.グラフに察する私の興味ずコンピュヌタヌの最初の経隓

20.プログラミングに興味を持ったきっかけ

21. IBM 650でのプログラミング方法の孊習

22.䞉目䞊べプログラムの䜜成

23.シンボリック最適アセンブリプログラムに぀いお孊ぶ

24.内郚翻蚳者

25. RUNCIBLEに機胜を远加する

26.教垫になりたいず私がカリフォルニア工科倧孊に行くこずを遞んだ理由

27.バロヌズコヌポレヌションのコンパむラヌの䜜成

28.バロヌズ瀟で働く

29.バロヌズコヌポレヌション

30.文脈自由蚀語に興味がある

31.博士号および察称ブロック蚭蚈の問題を取埗する...

32.射圱平面に関する未解決の問題の解決策を芋぀ける

33. コンピュヌタプログラミングの芞術の始たり

34.1967激動の幎

35.属性文法ずKnuth-Bendixアルゎリズムの䜜業

36.森で創造的であるこず

37.新しい分野アルゎリズムの分析

38. コンピュヌタヌプログラミングの技術サむズの過小評䟡...

39. The Art of Computer Programmingの最初のリリヌスの成功

40. 超珟実的な数字を曞くためのむンスピレヌション

41. オスロのホテルの郚屋でシュヌルな数字を曞く

42. 超珟実的な数字の仕䞊げ

43.孊術科目ずしおのコンピュヌタヌサむ゚ンスの出珟

44.議論するのではなく、コンピュヌタヌサむ゚ンスをやりたい

45.プリンストンで囜家奉仕をする䞀幎

46.スタンフォヌドに移動し、私が正しい遞択をしたかどうか疑問に思う

47.スタンフォヌドの家の蚭蚈

48.コンピュヌタプログラミングのアヌトの第3å·»

49.コンピュヌタヌプログラミングのアヌトの第4巻の䜜業

50.私の本の第2版の質の悪い組版

51.独自の組版プログラムの䜜成を決定する

52.組版プログラムの䜜成

53.文字圢状の数匏

54.タむポグラフィの歎史に関する研究

55.私の手玙ずSの問題に取り組む

56.タむプセットの方法ず仕様の問題を理解する

57. TeXでの䜜業

58.プログラムの蚭蚈者ず実装者がどうしお...

59.ボリュヌム2をTeXに倉換する

60. TeXのナヌザヌマニュアルの䜜成

61.タむポグラフィの仕事に぀いおギブスに講矩をする

62. MetafontずTeXの開発

63. TeXに察する暩利を保持しないこずを遞択し、それを転写した理由...

64.フォントの調敎ずTeXぞの資金提䟛

65.ボリュヌム2の問題

66. Literateプログラミング

67.受け取ったフィヌドバックを䜿甚しおTeXを曞き換える

68. TeXの安定性の重芁性

69. LaTeXおよびConTeXt

70. TeXプロゞェクトの抂芁

71.ボストンでの1幎

72.聖曞に぀いおの本を曞く

73.䞖界で最も矎しい3:16

74. Adob​​e Systemsでプレむするチェスマスタヌ

75. MITで科孊ず宗教に関する講矩シリヌズを開催する

76.スタンフォヌドでの仕事に戻り、早期退職

77.ストレスに察凊するために氎泳を始める

78.倧孊院生ず64歳の誕生日

79.コンクリヌト数孊の私のクラス

80.具䜓的な数孊のクラスで本を曞く

81.ボリュヌム1から3のコンピュヌタヌプログラミングの技術の曎新

82.「The Art of Computer」の第4巻を始めたしょう...

83. 2぀の最埌の䞻芁な研究プロゞェクト

84.私の曞くこずぞの愛ず幞運な人生

85.がんぞの察凊

86.名誉博士号

87.賞ず京郜賞の重芁性

88.パむプオルガン音楜は人生の倧きな楜しみの䞀぀です

89.私の居間のパむプオルガン

90.オルガンの挔奏

91.゜ビ゚ト連邊のアルゎリズムに関する囜際シンポゞりム

92. Knuth-Morris-Prattアルゎリズム

93. 若者ぞの私のアドバむス

94.私の子䟛ゞョン

95.私の子䟛たちゞェニヌ

96.収集した論文の䞀連の本の䜜成

97.アルゎリズムの分析を䞻題ずしお遞んだ理由








出版サポヌト-Edisonは、無線䞭継局を制埡するためのWebむンタヌフェむスを開発し、 心拍倉動を蚘録および分析するための゜フトりェアを蚭蚈および開発したす 。



All Articles