2014年05月17日の日記です


アラン・ケイの誕生日  2014-05-17 07:49:46  今日は何の日

今日は、アラン・ケイの誕生日(1940)。

昨日はサザーランドの誕生日でしたが、ケイはサザーランドの教え子にあたります。


教え子、といっても、年齢は2歳しか違わないのですけど。



サザーランドの作った世界初のグラフィック環境「スケッチパッド」は、細かな部品(オブジェクト)を定義し、そのコピー(インスタンス)の集合として全体を描きました。

そして、完成した「図面」を紙テープへ「プログラム」の形で出力し、プロッタプリンタで作図することができました。


ケイは後に、プログラムの小さな部品「オブジェクト」を寄せ集めて全体を構成する、オブジェクト指向プログラミングを開発しています。

いくつかのものから着想されたプログラム方式でしたが、師であるサザーランドの作った「スケッチパッド」は少なからず影響を与えていました。




アラン・ケイに関しては、Smalltalk の話でだいたい書いているのですよね…。ずいぶん昔に書いたものなので、多少事実誤認もあるのだけど。


その記事で SIMULA がアクターモデルだ、と書いているけど、これは参考にした文献が間違っていたようです。SIMULA はオブジェクト指向やアクターモデルの原型となるアイディアを盛り込んだ言語だったのだけど、オブジェクトともアクターとも名乗っていません。



ケイはサザーランドの指揮のもとで、個人のためのコンピューターを作ろうとしたことがありました。

FLEX と名付けられたコンピューターでは、スケッチパッドのようにグラフィカルな方法を使い、SIMULA 言語をベースとした方法でプログラムを作ろうとしていました。



しかし、このプロジェクトは失敗だったそうです。

…失敗したがゆえにあまり資料が残っていないのですが、スケッチパッドがプロッタプリンタのプログラムを出力できるように、グラフィックで動作を「記述」すると、プログラムを生成する、というものだったそうです。


つまり、現在も世の中にたくさんある、フローチャートを描くとプログラムが生成される環境の元祖。

となると、失敗の原因もおそらく同じでしょう。


プログラムは非常に複雑なもので、2次元で表現できるようなものではありません。

だいたい、2次元の図で表現できるほど簡単なものだったら、もっと多くの人がプログラム組めてるでしょうね。



しかし、FLEX はケイにとって良い経験でした。

見た目だけを簡単にしても、子供だましにしかなりません。

本当に重要なのは、専門家でも使えるほど高度なことができるが、子供でもすぐに始められるほど簡単なものです。


ケイは「ダイナブック」と言うものを構想(というより夢想)しますが、この時点では「子供でも使えるほど簡単で、大人でも満足できるほど高度」という求める理想を描いただけで、具体的な案は何もありませんでした。



Xeroxパロアルト研究所では、ダイナブックに搭載されるべき OS とはどのようなものか、を追い求めます。

ケイは、利用者が簡単にプログラムできること、を必須の機能と考えていたようですが、特に訓練を受けていない人間でもプログラムを作れるようにするには何が必要か、既存の物をうまく組み合わせて作りだそうとしたようです。


具体的に参考にしたものは


NLS …「伝説のデモ」をみて、誰もが使えるコンピューターはグラフィカルでなくてはならない、と考えたようです。

 そのため、マウスは必須の入力機器となりました。


LOGO …子供でも使える言語、として作られたロゴは、グラフィックを描く言語でもあり、グラフィカルな環境に必要でした。

 また、「タートル」という具体的なものに指令を出してプログラムを行う、と言う形式が、後のオブジェクト指向に発展します。


・スケッチパッド …グラフィックを扱うことでプログラムを生成する、プログラム環境でした。グラフィカルであり、プログラム可能な環境でもあります。

 「オブジェクト」や「インスタンス」と言う概念は、スケッチパッドから持ち込まれています。


・SIMULA …シミュレーション用言語で、プログラムとデータを一体化するための機能があった。

 これを使うことで、LOGO でいう「タートル」のような具体的存在を、自由に作り出すことができます。

 オブジェクト指向の要となる概念でした。


・LISP …非常に簡素な言語構造と、簡素が故の強力なデータ構造を持つ言語です。その構造は簡素すぎて、足し算と掛け算では掛け算を先に行う…と言うような数学規則すらありません。出てきた順に処理するだけです。

 Smalltalkもまた、出てきた順に処理するだけで優先順位などはありませんが、簡素が故の強力な処理能力を持ちます。



他にも参考となった言語などはあるようですが、大体このあたりが中核なようです。




Smalltalk は NLS、LOGO、スケッチパッドなどの影響も受けた、グラフィカルなプログラム環境です。

しかし、プログラム方法としては「文字」を使った、ごく普通の物でした。


おそらく、これは FLEX の反省から来ています。

図を使ってプログラムをしても、子供だましのものにしかならないと、痛いほどわかっていたのでしょう。



そして、ケイにとって、コンピューターとは「プログラムをするもの」でした。

ケイは教育者でもあり、プログラムを作ることは、その作者自身が物事を深く研究し、成長することにつながるとの確信がありました。


Smalltalk は OS としての側面も持っていましたが、上に書いたような思想の元、基本的に「コマンドライン」で操作するものでした。

マウスで操作することもできますが、基本的には操作の結果コマンドが選択され、実行されるだけです。



ずっと後の話になりますが、Smalltalk を真似して Apple が Lisa 、そして Machintosh を作ります。

Mac は「一般人はプログラムなど作れない」と割り切って、プログラムを実行することだけを目的とした機械でした。



そして、Mac は、プログラムと一緒にコマンドの概念も排除しました。

図形を選択し、操作することでコンピューターを操作できます。


これは多くの人にとって使いやすいものでしたが、ケイが目指した「プログラムを作ることによって使用者自身が成長する」環境ではありませんでした。


その後、今に至るまで、ケイの理想のコンピューターは現れていません。




ケイは、再び Smalltalk を甦えらせ、Squeak として無料で配布しています。


現在は、1970年代よりも多くの人がコンピューターに触ります。

昔「子供に開放」された時よりも低年齢の子供でも、貧困層の子供でも触ることができます。


そのため、単純な Smalltalk の復活だけでなく、より親しみやすいように、最初の一歩としての eToys という環境も整えられました。


eToys では、各国語で書かれたパネルを並べることでプログラムを作れます。

たとえば、日本語でもプログラムを作れるのです。


…FLEX が失敗した道をたどっているようにも見えます。


ただ、ここには反省が活かされています。

FLEX と違うのは、パネルで作ったプログラムは Smalltalk に変換され、実行されるのです。



パネルによるプログラムは、限界がある「子供だまし」です。

FLEX では実用性をめざし、子供だましにならない工夫を…加えすぎて、わけのわからないものになりました。


しかし、eToys では最初から子供だましと割り切り、必要以上に複雑にはしない。

そのかわり、ここから Smalltalk に興味を繋げ、ステップアップできるようにしているのです。



とはいえ、これではまだ PC を気軽に使える先進国の子供向けの環境です。

ケイは、「世界中の子供たち」が、Smalltalk を学ぶことで賢くなり、世界を変えていってくれることを望んでいます。


コンピューターが使えるかどうかで社会的な地位が変わってしまう…いわゆる「デジタルディバイド」の問題が残っています。




ケイの友人でもある、ネグロポンテは、デジタルディバイドの解消のため、100ドルで買える PC を開発しようとしていました。


ケイはこのプロジェクトに参加。後にちゃんと 100ドル PC は完成し、貧困国を中心に販売されています。


もちろん、100ドル PC には最初から Squeak も eToys も入っています。

(さらにいえば、このプロジェクトにはシーモア・パパートも参加しており、LOGO も入っています)



ケイはコンピューターを学び、ハードウェアも理解しているし、プログラムも出来る人です。

しかし、実際の活動としては主に思想家です。Smalltalk だって彼が全体デザインをしただけで、プログラムを作ったのは別の人。


近年ではコンピューターのあり方を思索するだけでなく、これによって世界を変えるのだ、というメッセージ性を強く感じます。


もっとも、彼は自分が生きている間に世界が変わるとも思っていないみたい。

コンピューターの利用方法について、種をまいておけば 数百年後には状況が変わるだろう、と気長に構えているようです。



同じテーマの日記(最近の一覧)

今日は何の日

関連ページ

【追悼】マービン・ミンスキー【日記 16/01/29】

【追悼】マービン・ミンスキー【日記 16/01/29】

別年同日の日記

02年 5/17

15年 JAMSTEC一般公開日

18年 義母の葬儀

19年 洗濯機壊れた


申し訳ありませんが、現在意見投稿をできない状態にしています


戻る
トップページへ

-- share --

4000

-- follow --




- Reverse Link -