アラン・ケイ

アラン・カーティス・ケイ（Alan Curtis Kay, 1940年5月17日 - ）は、アメリカ合衆国の計算機科学者、教育者、ジャズ演奏家。パーソナルコンピュータの父、と言われることもある。主に、オブジェクト指向プログラミングとユーザインタフェース設計に関する初期の功績で知られている。ピーター・ドラッカーの言葉“You cannot predict the future, but you can create it.” を引用し、“The Best Way to Predict the Future is to Create it.” 「未来を予測する最善の方法は、それを発明することだ」と改変したことでも知られている。 カリフォルニア大学ロサンゼルス校(UCLA)で計算機科学の准教授、ビューポインツ・リサーチ・インスティテュート（Viewpoints Research Institute）の経営者、TTI/Vanguard の諮問委員。2005年中ごろまで、HP研究所のシニアフェロー、京都大学の客員教授、マサチューセッツ工科大学の准教授を務めていた。 マイクロコンピュータ以前の時代に、個人の活動を支援する「パーソナルコンピュータ」という概念を提唱した。つまり1960年代当時、高価で大きく、複数人で“共有”するのが当たり前だったコンピュータに“個人向け”という利用状況を想定し、それに相応しいコンピュータ環境がどうあるべきかを考えた人物。自らがそう名付けた「ダイナブック構想」の提唱者。「コンピュータ・リテラシー」という言葉も彼が造った。 マサチューセッツ州のスプリングフィールド生まれ。3歳で文章を流暢に読み、早くから才能を見せていた。アメリカでの教育についてのインタビューで、「私は幸か不幸か、3歳のときに流暢に読めるようになっていた。だから1年生のころにはたぶん150冊ぐらいの本を読んでいた。そして、私はすでに先生が嘘を言っていることを知っていた」と述べている。 コロラド大学で数学と分子生物学の学士号を取得。同じ頃、彼はプロのジャズギタリストとしても活動している。コロラド大学に入る前、彼は士官候補生として空軍に入隊しており、自分にコンピュータ・プログラミングの才覚があることを知る。 1966年ユタ大学大学院工学部に進学し、修士号と博士号を取得している。そこでアイバン・サザランドの下で Sketchpad を含む先駆的グラフィックスアプリケーションを開発した。この経験がケイのオブジェクトとプログラミングについての観点を発展させることになった。ARPAの研究が忙しくなったため、プロのミュージシャンとしての経歴は途絶えた。 1968年シーモア・パパートと出会い、LISPを教育向けに最適化した方言であるLOGOプログラミング言語について学んだ。そこから発展して、ジャン・ピアジェ、ジェローム・ブルーナー、レフ・ヴィゴツキーらの業績や構成主義についても学び、それらからも強い影響を受けた。 1970年、ケイはゼロックス社のパロアルト研究所の設立に参加した。パロアルト研究所には1970年代を通じて在籍し、自ら提唱する理想端末「ダイナブック」を、当時利用可能な技術で具現化した暫定的ハードウエアである「Alto」と、エンドユーザーが自在にプログラミング可能で、それを全方面からサポートする機能を有する暫定的環境「Smalltalk」の開発において指導的立場をとった。このSmalltalk環境の動作するAlto（暫定ダイナブック）を見学する機会を得たスティーブ・ジョブズが、そのアイデアを大いに取り入れてLisa、続くMacintoshを開発した、というのは有名な話である。 ケイとパロアルト研究所の同僚は、オブジェクト指向プログラミングというアイデアの生みの親でもある（すでに言語機能としての「クラス」と「オブジェクト」を備えたノルウェーのオルヨハン・ダールとクリステン・ニガードのSimula 67があったが、これらの言語機能と自らのアイデアである「メッセージング」と組み合わせて「オブジェクト指向」と称したのはアラン・ケイが最初。なお「オブジェクト指向」は後にビャーン・ストラウストラップにより「カプセル化・継承・ポリモーフィズム」として再定義される）。彼の提唱した「ダイナブック構想」は、持ち運び可能な小型パーソナルコンピュータ（ノートパソコン、タブレット、電子書籍）の原型であり、ウィンドウ型グラフィカルユーザインターフェース(GUI)のさきがけとも言われている。ケイは、真上を向いていたマウスポインタを斜め45°でデザインし直した。ダイナブックは教育用プラットフォームとみなすこともできるため、ケイはMラーニングの初期の研究者の1人とされることがある。実際、ダイナブック構想の多くの特徴がケイも積極的に関与した教育用プラットフォーム One Laptop Per Child (OLPC) の設計に採用されている。 パロアルト研究所で10年すごした後、ケイは3年間アタリの主任科学者を務めた。 1984年から、ケイはApple Computerのフェローとなった（1997年に、スティーブ・ジョブズが研究部門Advanced Technology Groupを解散するまで。なお、ジョブスにピクサー買収を強く勧めたのも、彼である）。その後 Walt Disney Imagineering でフェローを務めた（ディズニーがフェロー制度をやめるまで）。2001年、子どもの教育と関連するソフトウェア開発を目的とする非営利組織 Viewpoints Research Institute を創設。 その後、Applied Minds（Walt Disney Imagineering の退職者が設立した会社）で働いた後、ヒューレット・パッカードにシニアフェローとして迎えられたが、2005年6月20日に Advanced Software Research Team が解散になると同時に退職した。現在は、Viewpoints Research Institute を主宰。 また2002年〜2005年、IPA未踏ソフトウェア創造事業のプロジェクトマネージャ。 2011年秋、ニューヨーク大学 Interactive Telecommunications Program (ITP) でITPの研究員である Nancy Hechinger と共に "Powerful Ideas: Useful Tools to Understand the World" と題したクラスを教えた。このクラスの目標は、伝統的な丸暗記的教育を廃し根本的かつ強力な概念に基づいた教育/学習の新形態を考案することだった。 1995年12月、Apple Computerに所属していたケイは、多数の協力者と共に Squeak をオープンソースプロジェクトとして立ち上げ、その後も継続して関わっている。Squeak は、Smalltalkを拡張し、当時非公開で限られた人間しか参加できなかった「ダイナブックプロジェクト」を、広く世界に人材を求める“開かれた”プロジェクトとして再開されたものだと考えることもできる。Squeak及びその上に実現された非開発者向けビジュアルスクリプティング環境「Squeak eToys (SqueakToys)」、次世代3D-GUIを模索する仮想コンピュータ環境「Croquet」の開発指導にあたる。 2001年、SqueakのeToysアーキテクチャにおいてインタフェース基盤の限界が見えてきた。ケイのHPでのグループで働いていた Andreas Raab は "script process" の定義を提案し、いくつかの一般的課題に対処するデフォルトのスケジューリング機構を考案した。その結果、Squeak のユーザインタフェースをさらに進化させた新たなユーザインタフェースが Tweak が誕生した。その基盤となるオブジェクトシステムはクラスベースだが、ユーザーがプログラミングする際にはプロトタイプベースのように動作する。 2005年11月に開催された世界情報社会サミットで、MITはアラン・ケイも開発に関与した新たな OLPC XO-1 を発表した（発表時は100ドルノートPCとして有名になった）。ケイのダイナブック構想に基づき、ケイの友人であるニコラス・ネグロポンテがプロジェクトを推進した。ケイもそのコンピュータの開発に関わり、主に Squeak と eToys を教育ソフトウェアとして搭載することに注力した。 ケイはしばしば、コンピュータ革命は非常に新しく、よいアイデアが全て一般に実装されているわけではないということを論じている。OOPSLA 1997 での講演やチューリング賞受賞記念講演（タイトルは "The Computer Revolution Hasn't Happened Yet"）では、Sketchpad、Simula、Smalltalk での自身の経験や商用ソフトウェアの肥大化したコードについて論じている。 2006年8月31日、アメリカ国立科学財団 (NSF) への提案書が採用され、Viewpoints Research Institute に数年間資金が提供された。提案書のタイトルは "Steps Toward the Reinvention of Programming: A compact and Practical Model of Personal Computing as a Self-exploratorium"（プログラミング再発明へのステップ: Self-exploratorium としてのパーソナルコンピューティングのコンパクトで実用的なモデル）である。ケイがやろうとしていることの意味は、バークレーにあるインテルの研究所で行ったセミナーの要約からうかがい知ることができる。 今日では、商用ソフトウェアや多くのオープンソースのソフトウェアは数億行のソースコードの固まりでできている。その機能をカバーできる理解可能な最小の設計なら、どれだけのコード量にできるだろうか？ 100万行？ 20万行？ 10万行？ 2万行？」 1999年 - コンピュータ歴史博物館フェロー 2001年 - C&C賞 2003年 - チューリング賞。オブジェクト指向プログラミングに関する貢献に対して。 2004年 - 京都賞先端技術部門。 2004年 - チャールズ・スターク・ドレイパー賞（全米技術アカデミーの与える賞）。バトラー・ランプソン、ロバート・テイラー、チャック・サッカーと共同受賞。 2008年 - Association for Computing Machinery (ACM) フェロー 2011年 - Hasso-Plattner-Institut フェロー 2002年 - スウェーデン王立工科大学 2005年 - ジョージア工科大学 2005年 - Columbia College Chicago 2007年 - ピサ大学 2009年 - ウォータールー大学 2009年 - 京都大学 2010年 - ムルシア大学 史上初の本格的GUIを備えたとして知られるAltoだが、特に“Alto OS”と呼ばれる専用のGUI OSがあったわけではない。PARC内外ではAlto向けに、互いに見た目や操作の異なる多数のGUI環境・GUIアプリが開発されていた。その中で特に先行し、後続に多岐に渡る影響を及ぼしたのがケイらの暫定ダイナブック、すなわちSmalltalk環境で、実際、MacintoshやWindows、そしてUNIXのGUI環境の起源に関する記述でAltoが引き合いに出された場合、それは当時のSmalltalk環境を意味していることが多い。言及者がSmalltalkを単なるプログラミング言語として狭く捉えていたり、その誕生の歴史的経緯（コンセプトとしての「ダイナブック」、暫定環境としての「Smalltalk」、暫定ハードとしての「Alto」の相互関係）をよく調べずに書いたあいまいな記述が世に氾濫しているため、さも“Alto OS”のようなものが存在するかのような誤ったイメージが定着してしまった。 ケイはプログラミングもするが、主だってはアイデアパーソンである。Altoの製作にはチャック・サッカーという天才エンジニアの、Smalltalk開発にはダン・インガルス、アデル・ゴールドバーグを筆頭とした天才プログラマらの関与が不可欠であり、ケイがすべてを（短期間で）実現したかのような記述は原則として誤り。短期間であることがことさらに強調されることが多いのは、Alto初号機の製作期間が仲間うちの“賭け”の対象となっていて、実際それが約3か月強で成し遂げられたこと、あるいはケイの「オブジェクトへのメッセージ送信」というアイデアをダン・インガルスがわずか数日で実装してみせたこと（これが、Smalltalkのプロトタイプとなった。ちなみに、この時に使われたのはBASIC）を混同しているものと思われる。 最も有名な言葉 「未来を予測する最善の方法は、それを発明することだ」1971年、パロアルト研究所の研究内容の将来予測を再三に渡って求めるゼロックス本社に対する回答（経営陣と開発陣の軋轢や見解の相違を端的に表している） 元々は物理学者ガーボル・デーネシュの言葉から それについて本人が別の機会に補足した言葉 「未来はただそこにあるのではない。未来は我々が決めるものであり、宇宙の既知の法則に違反しない範囲で望んだ方向に向かわせることができる」1984年 コンピュータ革命について 「わくわくするようなことが進行中だが、コンピュータ革命はまだ始まっていない。不完全なアイデアに基づいた貧弱な実装によるできの悪いデファクトスタンダードによって素朴な顧客から大量の金を巻き上げている連中に惑わされないように」 1980年代終盤の香港での記者会見での言葉 「テクノロジーというのはあなたが生まれたときに存在しなかった全てのものだ」 C++について 「オブジェクト指向(Object-Oriented)という言葉は私が作った。そのとき、C++ を想定していなかったことは確かだ」 LISPについて 「これまでに設計された最も偉大なプログラミング言語」 ソフトウェアとハードウェアについて 「People who are really serious about software should make their own hardware.」 「ソフトウェアに対して本当に真剣な人は、独自のハードウェアを作るべきだ。」