見出し画像

私が取り組んできたこと【前編】

ポール・グレアム(Paul Graham)が執筆したエッセー「What I Worked On」の日本語訳になります。長文のため、誤訳などがあればコメント欄にて教えてください。

2021年2月

大学入学前、私が学校以外で取り組んでいたのは「文章を書くこと」と「プログラミング」だった。エッセーは書いていなかった。当時もおそらく現在も新米作家が書くようなものを書いていた。短編小説だ。物語はひどかった。筋書きがほとんどなく、ただ強い感情を持った登場人物がいるだけだけで、そういった登場人物が物語に深みを与えると考えていた。

試しに書いた最初のプログラムは、学区school districtが当時「データ・プロセッシングdata processing」と呼ばれていたものに使っていた IBM 1401 にあるものだった。これは9年生のときだったから、私は13歳か14歳だった。学区の 1401 は偶然にも中学校の地下にあり、友人のリッチ・ドレーブスRich Dravesと自分は 1401 を使う許可を得ていた。地下はまるで小型のジェームズ・ボンドの悪党のアジトのようだった。CPU、ディスクドライブ、プリンター、カードリーダーといった異質な見た目の機械があり、それらは明るい蛍光灯の下にあるフリーアクセスフロアに鎮座していた。

私たちが使っていた言語は、Fortranフォートランの初期バージョンだった。プログラムをメモリーにロードし、プログラムを実行するには、パンチカードにプログラムを打ち込み、それをカードリーダーに積み重ねてボタンを押す必要があった。そのため、通常は困惑するほど大音量のプリンターで何かを印刷することとなっていた。

私は 1401 に困惑した。1401 を使って何をするのか分からなかったのだ。今になって思えば、1401 を使って自分がやれたことは多くない。プログラムへの入力の唯一の形式は、パンチカードに保存されたデータだった。また、私はパンチカードに保存されるデータを持っていなかった。唯一の他の選択肢は、円周率の近似値の計算のように、入力を当てにしないことをすることだった。だが、私はそのタイプの面白いことをする数学を十分に知らなかった。なので、私は自分が書いたプログラムを思い出せないことに驚かない。プログラムは多くのことをしてくれなかったのだ。最も鮮明な記憶は、「プログラムのひとつが終了しなかったとき、プログラムが終了しないのは可能である」ということを学んだ瞬間である。タイムシェアリングのない機械では、データセンターのマネージャーの表情が明らかにするように、これは技術的な過失だけでなく社会的な過失でもあった。

マイクロコンピューターで、すべてが変わった。今では目の前に居座るコンピューターを卓上で所有できるようになった。このコンピューターは、大量のパンチカードを激しく動かしてから停止するのではなく、動いていてもキーストロークに対応することができた。[1]

私の友人で初めてマイクロコンピューターを入手した人は、自分でコンピューターを組み立てた。Heathkit 社からキットとして販売されていたのだ。彼がコンピューターにプログラムを入力しながらそのコンピューターの前に座っているのを見て、どれほど感動的でうらやましく思ったのかを鮮明に覚えている。

当時のコンピューターは高価で、1980年頃に父親に TRS-80 を買うように説得するまで、文句を言うのに何年も費やした。当時のゴールド・スタンダードは Apple II だったが、TRS-80 で十分だった。私が本格的にプログラミングを始めたのはこの頃である。簡単なゲーム、自分の模型ロケットが飛行する最高到達点を予測するプログラム、父親が少なくとも一冊の本を書くのに使っていたワープロ、を書いていた。メモリーには約2ページのテキスト用のスペースしかなかったので、父親は一度に2ページ書いてから印刷していたが、タイプライターよりもかなり優れていた。

コーネル大学

プログラミングは好きだったが、大学で勉強するつもりはなかった。大学では哲学を勉強するつもりで、哲学はかなり強力に思えた。ナイーブな高校生の自分にとって、他の分野で研究されたものが単なる専門知識であろうことに比べると、哲学は究極の真理の研究であるように思えた。私が大学に入学したときに発見したのは、他の分野ではアイデアの空間の大部分が占有されていて、こういった想定される究極の真理があまり残されていなかったことだった。哲学に残されているように思えたものは、他の分野の人たちが安心して無視できると思ったエッジケースedge caseだった。

18歳のとき、私はこのことを言葉にすることができなかった。当時分かっていたのは、自分が哲学の授業を受け続け、その授業が退屈であり続けたことだった。そこで、AI に切り替えることにした。

AI は1980年代半ばに話題となっていたが、自分が AI に取り組みたいと特に思わせた2つのモノがあった。ハインラインHeinleinの『The Moon is a Harsh Mistress(邦題:月は無慈悲な夜の女王)』という小説で、Mike と呼ばれるインテリジェント・コンピューターが登場した。それと、SHRDLU を使用するテリー・ウィノグラードTerry Winograを紹介した PBS のドキュメンタリーである。『The Moon is a Harsh Mistress』を読み返そうとすることはなかったので、私はその本がどれほどよく古びたのか知らないが、読んだときはその世界に完全に引き込まれていた。

私たちが Mike を持つのは時間の問題だけであるように思えたし、SHRDLU を使用するウィノグラードを見たとき、その時代はせいぜい数年であるように思えた。すべきことは、SHRDLU にもっと多くの言葉を教えることだけだった。

当時のコーネル大学には AI の授業がなく、大学院の授業にもなかったので、私は独学を始めた。これは Lispリスプ を学ぶことを意味した。なぜなら、この頃は Lisp が AI の言語と見なされていたからだ。当時、一般的に使われていたプログラミング言語はかなり原始的で、それに応じてプログラマーのアイデアも原始的だった。コーネル大学のデフォルト言語は PL/I と呼ばれる Pascalパスカル に似た言語で、その状況は他の場所でも同じだった。Lisp を学ぶことで自分のプログラムの概念が非常に速く拡大し、どこに新しい限界があるのかを理解し始めるのは数年後だった。こっちのほうがいい。これこそ自分が大学にやってほしかったことだ。これは想定されていたように授業で起こらなかったが、問題ではなかった。それからの数年間、私は絶好調だった。私は自分がやろうとしていることを分かっていたのだ。

学士論文のために、私は SHRDLU をリバースエンジニアリングした。驚いたことに、そのプログラムに取り組むのが大好きだった。SHRDLU は楽しませてくれるコードだったが、さらに興奮させてくれたのは、SHRDLU が既に知性という低めの坂を登っていたという確信だった。この確信は、今では想像しにくいが、1985年ではユニークではなかった。

私はコーネル大学の専攻を選択しないプログラムに参加していた。好きな授業を何でも取ることができ、学位を取得するのに自分が好きなものを選択することができた。私は当然 "人工知能" を選択した。本物の物質的な卒業証書を手にしたとき、引用符が含まれていたのに気づき、がくぜんとした。これは引用符を恐ろしい引用符であるかのように読ませた。当時はこのことで頭を悩ませたが、自分がまさに発見しようとしていた理由から、今ではこれが面白いほど正確なように思える。

ハーバード大学

私は3つの大学院に出願した。当時 AI で有名だった「マサチューセッツ工科大学MIT」と「イェール大学」、リッチ・ドレーブスが通っていたので訪れたことがあり、また自分が SHRDLU のクローンで使っていたパーサーの型を発明したビル・ウッズBill Woods)のホームでもあった「ハーバード大学」だ。ハーバード大学だけが自分を受け入れてくれたので、私はハーバード大学に行った。

大学院一年目のあるとき、当時実践されていた AI がでっち上げなことに気がついた。しかし、私はそれが起きた瞬間または特定の瞬間があったのかどうかを覚えていない。私が言いたいのは、「犬が椅子に座っている」と伝えられたプログラムが、これを何らかの形式的な表現に変換し、それを AI の知っていることリストに追加するような AI の種類だ、ということだ。

こういったプログラムが実際に示したのは、形式言語である自然言語の一部があるということだった。でも、非常に適切な一部である。「プログラムがやれたこと」と「実際に自然言語を理解すること」の間には、橋渡しできないギャップがあることは明らかだった。実際、単に SHRDLU にもっと多くの言葉を教えるという問題ではなかった。概念を表現する明示的なデータ構造を持つ AI を実践するその全体的なやり方は、うまくいかなかっただろう。よくあることだが、AI の壊れた感じが、AI に貼り付ける様々なバンドエイドに関する論文を書く多くの機会を生み出した。だが、これは私たちが Mike を得ることにならなかっただろう。

なので、私は自分の計画の残骸から救い出すことができるものを見つけるために周囲を見回し、そこには Lisp があった。Lisp が AI と関連していることが、当時の人たちが Lisp に関心する主な理由だった。だが、私は Lisp が AI と関連しているのが面白いだけでなく、Lisp 自体が面白いことを経験から知っていた。だから、私は Lisp に重点を置くことにした。実際、Lisp のハッキングに関する本を書くことにした。その本を書き始めたとき、自分がどれほど Lisp のハッキングについて知らなかったのかを考えるのは恐怖である。でも、自分が何かを学ぶのを手助けするために、その何かについて本を書くことに勝るものはない。『On Lisp』という本は1993年まで出版されなかったが、その本の大部分は大学院で書いた。

コンピューターサイエンスは、「理論」と「システム」の間にある不安定な同盟である。理論の人たちは物事を証明し、システムの人たちはモノを作る。私はモノを作りたかった。理論には十分な敬意を抱いていたが、モノを作るほうが面白そうだった。本当のところ、漠然とした予感では、理論のほうが2つの中では称賛に値していた。

しかしながら、システムの仕事の問題点は、その仕事が永続しないということだった。あなたが今日書いたプログラムは、どんなに素晴らしくても、せいぜい数十年で時代遅れになるだろう。人びとはあなたのソフトウェアを脚注で言及するかもしれないが、誰も実際にそのソフトウェアを使わないだろう。実際には、非常に貧弱な仕事であるように思えるだろう。その分野の歴史を知っている人たちだけが、当時はそのソフトウェアが優れていたと気づくだろう。

あるとき、コンピューターラボの周りに、漂流していた余剰の Xerox Dandelionゼロックス ダンデライオン がいくつかあった。遊ぶのに一台欲しい人は、誰でも一台所有することができた。私は一瞬誘惑されたが、これらのコンピューターは現在の基準で言えば非常に遅かった。何の意味があったのか? 誰も欲しがらなかったので、それらのコンピューターは去っていった。これがシステムの仕事に起こったことだ。

私はただモノを作るのではなく、永続するだろうモノを作りたい。

この不満状態にある中、私は1988年にカーネギーメロン大学CMUにいたリッチ・ドレーブスを訪ねた。彼はそこの大学院生だった。ある日、私は子どもの頃に多くの時間を過ごしたカーネギー研究所に行った。そこである絵を見ているうちに、当たり前のように思えるかもしれないが、自分にとっては大きな驚きであることに気がついた。壁にあったのは、あなたが永続させることができるものだった。絵画は時代遅れにならなかった。最高の絵画のいくつかは数百年ものだった。

その上、絵画は生計を立てることができるものだ。もちろんソフトウェアを書いて生計を立てるほど簡単ではないが、あなたが本当に勤勉で本当に安く暮らせば、生きるのに十分なお金を稼げられるはずだと思った。そして、アーティストとして本当に独立することができる。上司はいないし、研究費を獲得する必要さえないだろう。

私はいつも絵を見るのが好きだった。自分は絵を制作することができるのか? 分からなかった。そんなことが可能だとも想像したことがなかった。アートはただ自然発生的に現れるのではなく、人びとがアートを作っているということは頭では分かっていたが、アートを作る人たちはまるで別の種であるかのようだった。彼らはずっと昔に生きていたか、ライフ誌の人物紹介で奇妙なことをしている謎の天才のどちらかだった。「実際にアートを作ることは可能である」という考えは、ほとんど奇跡的であるように思えた。

その秋、ハーバード大学でアートの授業を受け始めた。大学院生はどの学部の授業も受けることができ、私のアドバイザーであるトム・チーサムTom Cheathamは非常に気楽な人だった。私が受けている変わった授業のことを知っていたとしても、彼は何も言わなかった。

さて、私はコンピューターサイエンスの博士課程にいて、さらにはアーティストになろうとしていて、さらには Lisp のハッキングと『On Lisp』に取り組むことに夢中だった。言い換えれば、多くの大学院生のように、私は自分の論文ではない複数のプロジェクトに精力的に取り組んでいた。

この状況から抜け出す方法を見いだせなかった。大学院を中退したくはなかったが、他にどうやって抜け出すつもりだったのか? 友人のロバート・モリスが1988年のインターネット・ワームinternet wormを書いたことでコーネル大学から追い出されたとき、私は彼が大学院を抜け出すのにそういった壮大な方法を見つけたのをうらやましく思っていた、と記憶している。

その後、1990年4月のある日、壁に亀裂が生じた。私はチーサム教授に遭遇し、彼は私がその6月に卒業するのに大いに十分であるのか聞いてきた。一言の論文も書いていなかったが、自分の人生で間違いなく最速な思考の中で、再利用できる『On Lisp』の一部を再利用しながら、締め切りまで残された5週間ほどで論文を書いてみることを決断した。そして、私は知覚できる間もなく、「はい、そう思います。数日中に何か読むものをお渡ししましょう。」と返答できた。

私はテーマとして「継続のアプリケーション」を選んだ。今思い返せば、私はマクロ言語や組み込み言語について書くべきだった。そこにはほとんど探究されていない世界があった。でも、私が望んでいたのは大学院を卒業することで、自分の急いで書かれた論文はちょうどギリギリで十分だった。

美術学校

そうしている間、私は美術学校に応募していた。2つの美術学校に応募した。アメリカのロードアイランド州プロビデンスにある「ロードアイランド・スクール・オブ・デザインRISD」と、最古の美術学校ゆえに自分が素晴らしいだろうと想像していたイタリアのフィレンツェFlorenceにある「アカデミア・ディ・ベッレ・アルティAccademia di Belli Arti」である。RISD は私を受け入れ、アカデミアからは返事がなかった。なので、私はプロビデンスに行った。

RISD では BFA プログラムに申し込んでいたので、実質的には大学にまた行かなければならなくなった。これは思ったほど奇妙なことではない。自分はまだ25歳だったし、美術学校には様々な年齢の人たちがたくさんいたからだ。RISD は私を編入学の2年生と見なし、その夏は基礎をやる必要があると言った。基礎とは、「デッサン」「色彩」「デザイン」のような基礎的な科目を全員が受けなければならない授業のことである。

夏の終わり頃、私は大きなサプライズを得た。それはアカデミアからの手紙で、その秋にフィレンツェで入学試験を受けるように案内していた。その手紙が遅延していたのは、アカデミアがマサチューセッツ州のケンブリッジではなく、イギリスのケンブリッジに送ってしまったのが原因だった。入学試験はほんの数週間後だった。親切な女性大家さんは私の荷物を屋根裏に置いといてくれた。大学院のときにしたコンサルティングの仕事で貯めたお金もあった。安く暮らせば、おそらく一年分はあるだろう。あとはイタリア語を学ぶだけだった。

ストラニエリstranieri(外国人)だけがこの入学試験を受けなければならなかった。今考えると、これはおそらくストラニエリを締め出すための手段だったのかもしれない。フィレンツェでアートを勉強するという考えに魅了されるストラニエリが非常に多かったので、そうしていなければイタリア人学生の数が少なかっただろう。その夏の RISD の基礎で絵を描いたり塗ったりするのはそこそこ調子が良かったが、どのようにして筆記試験に合格できたのか今でも分からない。セザンヌについて書いて小論文の問題に答えたり、自分の限られた語彙を最大限に活用するために知的レベルを上げられる高さまで上げたりしたことを覚えている。[2]

私はまだ25歳にしかなっていないが、既にこういった目につくパターンがある。今回も名誉ある対象について学ぼうとして威厳ある機関に通おうとしたのだが、またしても落胆することとなったのだ。学生とアカデミアの絵画科の教員は、あなたが想像しうる最も親切な人たちだった。でも、「学生は教員に何かを教えることを求めず、その引き換えに教員は学生に何かを学ぶことを求めない」という取り決めに至ってから、ずいぶんと月日が流れていた。そのことに加え、当事者全員が表向きは19世紀のアトリエの慣習にこだわっていた。実際、19世紀のアトリエの絵画で見る焚き付けが入った慣習的な小さなストーブの一つがあったり、火傷しないできるだけストーブの近くに座っているヌードモデルがいたりした。ただし、私以外に彼女を描いた人がほとんどいなかったことを除く。残りの学生たちは、雑談をするか、アメリカのアートマガジンで見たものをたまに模倣しようとするかして時間を過ごしていた。

モデルが私の家のすぐ近くに住んでいることが分かった。彼女はモデルと地元の骨董屋のために贋作がんさくすることで生計を立てていた。彼女が本から無名の古い絵画をコピーし、骨董屋がそのコピーを受け取って古くみせるようにダメージ加工していた。[3]

アカデミアで学生だった頃、私は夜に寝室で静物画を描き始めた。これらの絵は小さかった。部屋が狭かったのと、当時の自分が買えたキャンバスの余った端切れに絵を描いていたからだ。静物を描くことは、その名称が示すように対象は動くことができないので、人物を描くこととは異なる。人は一度に約15分間以上座ることができないし、座っていてもあまりじっとはしていられない。人物を描く伝統的なやり方は、一般的な人物を描く方法を知り、次に自分が描いている特定の人物に一致するように修正することである。一方の静物では、あなたが望めば自分の見ているものをピクセルごとにコピーできる。当然、あなたはこの段階で終わりたくない。そうでなければ、ただ写真のような正確性を獲得するだけである。静物を面白くしているのは、静物が頭の中を通り抜けてきたということである。たとえば、あなたが「色がある時点で急に変化する理由はある物体の端であるから」ということを自分に伝える視覚的な手がかりを強調したいと思っている。そういうことを微妙に強調すると、比喩的な意味だけでなく厳密な情報理論的な意味においても、あなたは写真よりもリアルな絵画を制作することができる。[4]

自分が見ているものに興味があったので、私は静物画を描くのが好きだった。日常生活の中で、私たちは自分たちが見ているものをあまり意識的に認識していない。ほとんどの視覚は低レベルのプロセスで処理されている。どこに最も明るい点と最も暗い点があるのかといった詳細情報をあなたに伝えることなく「あれは水滴だ」とか、すべての葉っぱの形や配置をあなたに伝えることなく「あれは茂みだ」とかを、ただ脳に伝えているだけだ。これは脳の特徴であり、バグではない。日常生活では、あらゆる茂みのすべての葉っぱに気がつくのは注意力の散漫となるだろう。でも、何かを描かなければならないとき、あなたはもっとよく観察しなければならないし、もっとよく観察すると見るべきものがたくさんある。人びとが普段当たり前だと思っていることについてエッセーを書こうする日々の後に新しいことに気づけるのと同じように、人びとが普段当たり前だと思っているものを描こうとする日々の後に新しいことに気づくのは今でも可能だ。

これは唯一の描き方ではない。私はこれが描くための良い方法だとも100%確信していない。でも、試してみる価値があるくらい十分に良い賭けであるように思えた。

私たちの先生であるウリヴィUlivi教授は、いい人だった。彼は私が一生懸命取り組んでいたのを見れていたし、私にいい評価をつけてくれた。彼はその評価を各学生が持っていたパスポートのようのものに記録してくれた。だが、アカデミアは私にイタリア語以外は教えていなかったし、自分のお金がなくなりつつあったので、一年目の終わりにアメリカへ戻った。

私は RISD に戻りたかったが、もうお金はないし RISD は学費が非常に高かったので、一年間就職して翌年の秋に RISD に戻ることにした。Interleafインターリーフという会社に就職した。この会社は書類を作成するソフトウェアを作っていた。まさか Microsoft 社の Word のようなもの? まさにそのとおり。Microsoft 社の Word で、私は「ローエンドlow endのソフトウェアがハイエンドhigh endのソフトウェアを食らう傾向にある」ということを学んだ。それでもまだ、Interleaf 社には数年の寿命があった。[5]

Interleaf 社はかなり大胆なことをしていた。Emacs にインスピレーションを受け、スクリプト言語を追加し、さらにスクリプト言語を Lisp の方言にしたのだ。Interleaf 社は Lisp のハッカーに Lisp で書いてほしいと思っていた。これは自分が今までしてきた仕事の中で普通の仕事に一番近かったもので、私はここで自分の上司と同僚に謝罪する。なぜなら、私は悪い社員だったからだ。Interleaf 社の Lisp は、巨大な C 言語のケーキの表面上にある最も薄いアイシング砂糖衣だった。また、私は C 言語を知らなかったし学びたくはなかったので、ソフトウェアのほとんどを理解していなかった。その上、私はものすごく無責任だった。この頃は、プログラミングの仕事が毎日決まった労働時間に出勤することを意味していた。これは自分にとって不自然だった。この点に関して、世界の他の人たちは私の考え方に同調しつつあったが、私の考え方は当時多くの衝突を引き起こした。その年の終わり頃、私は自分の時間の多くをこっそりと『On Lisp』に取り組むことに費やした。このときには『On Lisp』を出版する契約を結んでいた。

良かったのは、特に美大生の基準で言えば、大金が支払われていたことである。フィレンツェでは、家賃を支払った後、他のすべての予算はずっと1日7ドルだった。このときには、ただ会議で座っていても、毎時間4倍以上のお金が支払われていた。安く暮らすことで、私は RISD に戻るのに十分なお金を何とか貯めただけでなく、大学ローンも完済した。

Interleaf 社ではいくつか有益なことを学んだが、それらは主にやってはいけないことについてだった。テクノロジーの会社は、営業の人たちよりもプロダクトの人たちで経営されるほうがいい。(営業は本物のスキルであり、営業が得意な人たちは本当に営業が得意なのだが。)コードがあまりにも多くの人たちで編集されると、バグに繋がる。安い事務所スペースは、意気消沈させるものであれば、まったくお得ではない。計画的な会議は廊下での会話に劣る。大規模で官僚的な顧客は、危険な資金源である。従来の就業時間とハッキングに最適な時間、または従来の事務所とハッキングに最適な場所との間にはあまり重なりがない。

でも、私が学んだ最も重要なことは、Viaweb と Y Combinator の両方で自分が使っていたもので、「ローエンドがハイエンドを食らう”Low end eats the high end.”」である。あまり名誉あるものにはならないだろうが、「エントリーレベルentry level」の選択であることはいいことなのだ。なぜなら、あなたが「エントリーレベル」でない場合、他の誰かが「エントリーレベル」となり、あなたを天井に押しつぶすからだ。これは今度は「名誉prestigeは危険なサインである」ということを意味する。

次の秋に RISD に戻るために退職したとき、私は顧客向けのプロジェクトを行っていたグループのためにフリーランスの仕事をする手配をした。これは私がその後の数年間を生き延びた方法だった。私があるプロジェクトのために後日訪れに戻ると、誰かが HTML と呼ばれる新しいものについて教えてくれた。HTML は、その人が説明したように、SGML の派生物だった。マークアップ言語の愛好者は、Interleaf 社では職業上の危険であった。私はその人を無視したが、この HTML は後に自分の人生の大部分となった。

続く......

注釈

[1]私の経験は、コンピューターの進化の一段階を飛ばしていた。それは、インタラクティブな OS を搭載したタイムシェアリングな機械である。私はバッチ処理からマイクロコンピューターに直行し、これはマイクロコンピューターをさらに刺激的であるように思わせた。

[2]抽象概念を表すイタリアの言葉は、ほとんどいつも英語の同族語から予測できる。(polluzione のようなたまにあるトラップを除く。)異なるのは日常の言葉だ。なので、いくつかの簡単な動詞と多くの抽象概念をつなぎ合わせると、少しのイタリア語を大いに役立たせることができる。

このエッセーの下書きを読んでくれたトレバー・ブラックウェル、ジョン・コリソン、パトリック・コリソン、Daniel Gackle、Ralph Hazell、ジェシカ・リビングストン、ロバート・モリス、Harj Taggar に感謝する。


読んでくれて、ありがとう🙋🏻‍♂️ もしこのnoteが気に入ったら、「❤️」ボタンを押したりTwitterでシェアしたりしていただくと喜びます👍🏻 🆕 Jackを応援するパトロンになりませんか?👀 https://note.com/tokyojack/circle