アラン・ケイのオブジェクト指向
オブジェクトという言葉を選んだことは間違いだった
メッセージングの方が適切だった
SketchPad、Simula、ARPAnetの設計、Burroughs B5000、そして生物学と数学のバックグラウンドに影響されて、プログラミングのためのアーキテクチャを考えたのは、1966年11月以降のユタだった。1967年頃だっただろうか、誰かに何をやっているのかと聞かれ、私はこう答えた:「オブジェクト指向プログラミングです」 Smalltalkは、その構文やクラス・ライブラリだけでなく、クラスについてでさえない。この話題のために、ずいぶん前に「オブジェクト」という造語を作ったことを申し訳なく思っている。
ケイ氏は、オブジェクトを、ネットワークを形成してメッセージを送り合うコンピュータのメタファーとして捉え
C++ や Java のメソッド呼び出しがメッセージングに相当するように思われるかもしれないが厳密には異なる
Smalltalk では、このメッセージを非同期にやり取りするという、今まさに広がりを見せつつある並行処理のモデルを70年代の段階で実現していた(後にアクターモデル Smalltalk においても、ある段階から現在主流になっている(メソッド呼び出しと同等な)同期的な呼び出しに移行し、その後も「メッセージ」のような用語が維持されたためにメッセージングにまつわる誤解と混乱が生じた、という経緯
Erlang/Elixir が最もアラン・ケイ氏のオブジェクト指向を体現している言語環境なのではないか 何故メッセージングが最も重要なのだろうか?
メッセージングという仕組みの内に、ケイ氏が考えるオブジェクト指向の要点が全て含まれている
システムの「間」つまりコミュニケーションに着目することによって、システムにとって重大な目的(ゴール)だけを表現し、その他の詳細については二次的に決定すれば良い
そのような決定の先送りがシステムの寿命を延ばす鍵になる
メッセージがどのように解釈されるのか、クラスから作られたオブジェクトによって処理されるのか、そのクラスは継承によって構造を共有しているのか、あるいはプロトタイプベースなのかという問題は全て二次的な問題
上記の記事で引用されているアラン・ケイ博士による「オブジェクト指向」への言及の引用元メール オブジェクト指向をどのように適用すべきかについてアラン・ケイ自身もコンサルティングした成功例の一つ
1975年ごろのオブジェクト指向と子どもたち(あるいはアラン・ケイによるSmalltalk-72の紹介とフィールドワーク・レポート)→「Personal Computing」のPDF
ダン・インガルス(Smalltalk実装者)による設計思想
メッセージング
マクルーハンによるヤコブソン理解のドグマ -通信モデルとの連続性と断絶 オブジェクト指向プログラミングと GUI デザインを別々なものとして考えるのはおかしい。なぜなら、コンピュータの在り方をユーザーの知覚と認知から見立てようとするのがオブジェクト指向であり、それは要するに、UIこそがコンピュータであるという発想に基づいているからだ。 アラン・ケイの著書
アラン・ケイの著書 "The Early History Of Smalltalk" 。Smalltalk 開発史としてだけでなくオブジェクト指向プログラミング本来のコンセプトがわかるような本 (いわゆる「振舞い」をデータとしてあつかうことの意味) 。 pdf ファイルも入手できる。
アラン・ケイについてのあれこれ
ARPAやBell Labの黄金時代(Apollo計画の時代でもある)を生き,IT社会を切り拓いたお一人,Alan Kay の話を聞けて本当に良かった.
潤沢な研究資金とオープンな研究者コミュニティが生み出した「本当の未来」 vs スタートアップファンドが生み出す,「一言で説明できる底の浅い未来」
Alan Kayの結論.
Engelbartの1962年のこの論文Augmenting Human Intellect をみな読め!
グラフィカルUIについて
エンドユーザーがプロフェッショナルレベルのプログラマーになることなしに、道具を変えたり新しいものを作り出したりできるようになったときこそ、コンピューティングの涅槃になると信じてきたからである。
アラン・ケイ「コンピューティングの未来はそこにあると信じてビジュアルプログラミングの研究がんばったけど無理だったよ、やっぱりクヌースの文芸的プログラミングの方向性が現実的だよ」とどうも言ってるみたいで、諦めんなよ!どうしてそこでやめるんだ!!ってなってる
たぶんここらへんの試みも芳しくない結果に終わったと認識されていて、そこに複雑な思いがありそうな感じがする