[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[b-free: 1364] Re: BTRON2はオブジェクト指向OS か?





隆一です。


From: Takanori Hayashi <takanori@ohsaki.meidensha.co.jp>
Subject: [b-free: 1361] Re: BTRON2はオブジェクト指向OS か?
Date: Thu, 16 Apr 98 14:51:34 +0900

> 林です。
> 
...[snip]...
> naitoh_r> で、実身の場合には、操作を依頼するのではなく、実身の読み書きによってデー
> naitoh_r> タを操作することになります。つまり、中身を知るのにメッセージを送る必要
> naitoh_r> はなく、そのまま読めばいいということです。
> 
> 問題は読むと勝手に中身が変わりかねないってことですね。読む場所
> によって振る舞いが変わるし。パラダイムとしてはともかく、実際の
> 動作としてはオブジェクト的です。
> # それより量子論的ともいえるかな。観測が測定結果に影響を与える!

うーん、これは UNIX のスペシャルファイルでも同じことが起こるし、
Plan9 でもその辺の事情は同じなので、アクセスによって振舞いが変わること
をもってオブジェクト的とは言えないような気が。。。たしかに、オブジェク
トも内部状態は操作によって変わることがありますけど。。。

それと、オブジェクト指向の場合、オブジェクトの読む「場所」という概念
はないのでは?
何というか、オブジェクト指向でいうモノというのは処理の要求を受けつける
対象であって、それ自体を触ることはできないと思いますけど。。。


> naitoh_r> 一対一のメッセージというモデルを捨てて、グローバルに複数のマシンが共用
> naitoh_r> できる「環境」を考えて、その「環境」を操作することで他のマシンへ情報が
> naitoh_r> 伝播するモデルを考える必要があるのではないかと思います。
> naitoh_r> 
> naitoh_r> # これが、多分「場」のモデルで言っていることではないかと思うんですが。。。
> 
> 確かにそうなんでしょうけど、これが現在の分散オブジェクトのモデル
> と実際にどのくらい違うのかは判断が難しいところですね。
> # 名称はともかく、ここでも時代がTRONに追いついてきたのかも?

分散オブジェクトは全然くわしくないのですが、分散オブジェクトへの操作要
求には、オブジェクトの位置を指定することが必要じゃないでしょうか?
このオブジェクトの位置を表現するのは、ホスト名でも論理的な名前でも何で
もいいと思いますが、その位置を指定する必要があるのかないのかで、オブジェ
クト指向的なのかそうでないのかが決まってくるような気がします。

つまり、オブジェクト指向の場合には、「オブジェクト」に対する「操作要求」
というのが最低限の概念としてあって、どうしても「オブジェクト」というの
を何らかの方法で指定する必要があると思います。

これは、「オブジェクト」となるモノの数が増えると大変になってくるのでは
ないでしょうか(モノがたくさんあるとき、すべてのモノに対してそれぞれユ
ニークな名前をつけるのは大変。個々のモノに対して、それぞれ同じ指示を何
回も与えるのもまた大変。モノを追加するとまた名前を考えなきゃいけないの
も大変)。 

ブロードキャストの概念がある分散オブジェクトがあると、また別のような気
がします。しかし、やっぱり個々の通信という形なので共通な「環境」に対す
るアクセスとは同じではないような気がします。

# いやしかし、このスレッドの私のメイルを見直すと「感じ」とか「気がする」
# 「思います」という言葉が多いですね :-)


> ところでオブジェクト指向OSの要件は知りませんが、言語処理系では
> オブジェクト指向の要件にクラスの概念がありました。オブジェクト
> は出てくるけどオブジェクト指向でない言語処理系があるのですよ。
> Cloneと言ったかな(名前を覚えてない)、クラスがなくてオブジェクト
> を複製によって生成するんです。クラスがないから継承もない。でも
> 複製されたオブジェクトのメソッドを書き換えて振る舞いを変えること
> ができる。何かに似ていると思いませんか? ちなみにこの種の言語には
> オブジェクトベース言語という分類が与えられていました。

なるほど。
今月の bit の記事にプロトタイプ方式というオブジェクト言語のことが書い
てありましたが、それと同じようなものでしょうか?


以下引用 ------------------------

■ プロトタイプ方式
  プロトタイプ方式のオブジェクト指向言語では、クラスという概念がなく、
ひな型(プロトタイプ)オブジェクトをクラスの変わりに用い、これを複写する
ことで類似したインスタンスを複数生成する。クラスがないので継承は出来な
いが、「親クラスのインスタンス」に相当するものを内部に保持し、自分が定
義しないメソッドをここへ転送する(つまり継承の変わりに委譲を使う)。この
方式の言語としては Self が代表的。

	bit 1998/5 p.23
	「プログラミング言語(に関する用語集)」久野 靖
	より引用

------------------------- 以上引用

CLOS の仕様を作成するとき、候補となった言語にも同じようなものがあった
ような気がします(これは、本当に気のせいかも)。



p----------------------------------------------------------------------q
| FROM R.Night                                                         |
| E-mail:                                                              |
|         rnaitoh@st.rim.or.jp                                         |
| Key fingerprint = 89 EB 77 95 40 C0 3C CC  37 A1 A7 FA 1C 66 FF D0   |
b----------------------------------------------------------------------d