お世話になっております。 A.中村です。

On Fri, 24 Dec 1999 14:15:36 +0900
"K.Kodama" <kdm / kobe-kosen.ac.jp> wrote:

>> もう少し何かないか?人との物とOS内部からの間、何段階か> 「OS もオブジェクト化」とか極端な事はいいませんから。Oberon とか?# 違うか...

いや、全然違わないと思います(^^;。まさにあんなかんじ。
そういやJavaOSとやらは当然オブジェクト化してるんでしょうね。
#んで、Roseが有るといいなぁと思う俺。


ClipboardとかArgvとかがナニなのか?ってのは
結局「参照」なのではないかと、最近思い(気付き)ました。

Clipboardの例だと、単にテキストを格納するのは
Stringオブジェクト.dupをClipboardに参照させること。
Oleだかなんだかで元アプリのデータの変更に先アプリを追随
させるようなClipboard経由コピーは、データオブジェクトそのものを
Clipboardに参照させること。んで先アプリにもその参照を渡す。
渡された参照が指すオブジェクトをアプリがdupして使うか
そのまま使うかは、まぁ何通りかの組み合わせってことで。

つまりClipboardとは、あるオブジェクトが他のオブジェクトから
参照されるようになるときの手順を、ユーザーの手作業を介在させる
(選択権をユーザーに与える)ようにしたもの、なんじゃないでしょうかね。

#かたや、そのデータ「の中身(参照ではなく)」を如何に扱うか?ってのが
#Streamの仕事なので、Clipboardには単にStreamが「繋がっている」だけ
#であって、やっぱりベツモノですね。
#で、そのStreamからデータを読み出すと、文字列かも知れないし
#packされたオブジェクト参照かも知れないし。

([ruby-list:19867] 伊藤さん)

>大昔は「キーボードからのコマンド入力」=「OS のプログラム起動」

つーわけで、大昔は、参照を渡す、という発想がなかった
んじゃないかと思います。

ついでに言えば、堅牢さにおいてマトモ(笑)な現存するosだと
困ったことになまじプロセス保護なんていう鬱陶しいものがあるので、
他のプロセスのオブジェクトを参照させようと思っても
出来ないなんていうことになる…。
勿論ナマポインタなんていう野蛮なことをしなければ大丈夫
なのかもですが、やっぱりプロセスという単位が壁になるような。

ローカルマシン上の複数プロセスの間で「リモート」メソッド呼出を
しなきゃならんってのが、なんか寒いんですよね…

>今ではユーザーインターフェイスの層はとても厚くてよく分からない何処で何を処理したら適切なのか?

よーするに、参照をどう持ちまわるか?という問題のような気がするです。

以前考えたGUI環境案(?)に、立食パーティーってのがあります。
ユーザーはフォークと取り皿を持って会場をうろつくんです。
フォークは上記の意味でのClipboard、Clipしたデータを持つために
取り皿を持つ、取られる食い物がオブジェクトで、テーブルの上の
皿の上に食い物が乗っている。

でもこのユーザー、データを「食べ」てしまっていいのか?(笑)
まぁ食い物を友人に分けてやるとか別のテーブルに持ってくるとか
やってもいいだろうし。ちなみに一つの会場(今の計算機の画面だと
デスクトップと呼ばれているソレ)には複数の人間が同時に登場してもいい。
あと一つの取り皿に複数の料理を同時に乗せてもいいです>なひさん(^^;

つーかClipboardっていう言い方が曖昧つーか非oop的なのかな。
オブジェクトをつつくモノ(フォーク)と、つついたモノを
取っておく皿、というふうに分けて考えたほうがいいような気が。