In message <371F9FC120.AA42.anakamur / exa.i-tech.co.jp>
anakamur / exa.i-tech.co.jp writes:

> うーん。スレッドの「止まれ」と「この世から失せろ」とが
> ごっちゃになってるような気がする…。

「止ま」らないで「この世から失せ」られると非常によろしくないです.少な
くとも制御できないと使いにくくてしょうがない.`Fire and Forget' で済む
場合だと終る時に必要な処理はしてもらいたい.

# スレッドにファイナライザを定義してやればいいんですが.


active な実体はわざわざ取っておくような事をしなくても,停止させられる
か自発的に停止するかするまで生きていて欲しい,っていうのは結構納得なん
ですが.その方が「便利」だから.

外から停止させるにはやっぱり変数に持っとく必要がありますが,これは
「メッセージの送り先を覚えておく」という必要なコストでしょう.メッセー
ジを送らない相手のメールボックスを覚えていてもあんまり役に立たない.し
かも「忘れてしまったら相手は死んでしまいます」ではめんどうくさい.


passive/reactive な物は「そこにメッセージの送送り先」を覚えていないと
どこからも利用できなくなるんで,そういうのが「GC で消えてなくなる」の
はあんまり構わない,と.

# 「オブジェクトとメールボックス」.... 紐のがわかりやすいか.


> 手続き指向って、そーゆーふうにごっちゃになっちゃう概念が
> なんか多いんで、いやなんだよなあ。

関数型や論理型がいいんでしょうか (^^?

# 前にも同じねたをふったような.... (^^;


> いったんパラメータ与えて動かし始めたら、自然終了または強制終了
> するまで外から何も干渉できないとか。勿論干渉できるように小細工を
> 加えることは可能だが、それは既に本来の意味の手続きじゃない…。
> で、小細工のやり方の集大成の一つが、oopだと言えるかなーとか(^^;。

Ruby や C++ や Java みたいな「手続き型のオブジェクト指向言語」でのメ
ソッドは全て同様の性質を備えていると思いますが.っていうか,外から干渉
できるようなのってどんなんでしょう?

外部との I/O で,っていうのとは違いますよね.

複数のスレッドが走っていて,あるスレッドの動作(メッセージ送信や共有変
数の変更)で別のスレッドの動作が変わる,っていうのとも違いますよね.

# 「手続き型」であるから干渉できない,小細工が必要,っていう話からする
# と,これらは関係ない,はず.


> ばらばらな各種の手続きを、(孤立化(object化)させた)「状態」を
> 共有させることで束ねる、ってのがoopっすよね。

「まずオブジェクトありき」だと思いますけど.「変数群と,それを操作する
手続きとを一体化し,一つの『もの』として抽象化したもの」がオブジェクト
で,このオブジェクトを基本としてプログラミングや設計を行うのが「オブ
ジェクト指向....」の類である,と.

# 実は上のだと「Object-Based」であって「Object-Oriented」ではない,と
# する人もいますが(っていうか既に定説ですが),わたしはその立場を取ら
# ないので (^^;

-- 
柳川和久 @ 東大阪市 . 大阪府                                 April 22, 1999
アリオッチ,アリオッチ,血と魂を御身に捧ぐ!