Deprecated: The each() function is deprecated. This message will be suppressed on further calls in /home/zhenxiangba/zhenxiangba.com/public_html/phproxy-improved-master/index.php on line 456
Matzにっき(2006-01-31)
[go: Go Back, main page]

«前の日記(2006-01-29) 最新 次の日記(2006-02-01)» 編集

Matzにっき

<< 2006/01/ 1 1. 元旦
2 1. 出産
2. 帰省
3. 到着
3 1. デジタル体重計のユーザインタフェース
4 1. Classbox
2. Classboxの実装
5 1. 帰宅
2. PCレスライフ
6 1. PC修理
7 1. 雪かき
2. プログラミング言語SRU
8 1. 断食安息日
2. あーめん
3. 筋肉痛・体調不良
9 1. 米子
10 1. オープンソースマガジン3月号
11 1. 日経Linux 3月号
12 1. Charming Ruby Compiler
2. The Open Nature Of Ruby
13 1. ニート娘に悩む親
2. Python Status Update
3. 泥縄
14 1. 宣教師のお手伝い
2. Simplified/Traditional
3. ボーリング
15 1. 代打不発
2. セミナリー補習
16 1. 不達
2. 誕生日
17 1. 萌え指向プログラミング言語「萌香」
2. Classbox/R
18 1. CommonLispのpackage
19 1. これは便利! と思える elisp プログラムを教えてください
20 1. 「オブジェクト指向神話」神話
21 1. 片付けの日
2. 食べ放題は危険
22 1. 松江
2. お客さま
23 24 1. ruby_block撲滅運動
2. 『よくわかる現代魔法
25 1. 遅延Enumerable
26 1. Thinkpad復活
2. Rastに挑戦?
3. オープンソースの全文検索エンジンの速度性能比較」のご紹介
27 1. 「Javaの生みの親」に聞く「AJAX、LAMP、Ruby on Rails」
2. 「オブジェクト指向」改め「抽象データ指向」
28 1. LINQ
2. シガーソングライター(もどき)
29 1. 慈愛
2. 天国
30 31 1. サブジェクト指向
>>
Dr.Web 予測するアンチウイルス 販売開始一周年!
ユーザ・サーバ数が無制限のライセンスも低価格でご利用いただけます。

2006-01-31 [長年日記]

_ [OOP] サブジェクト指向

小飼さんも「オブジェクト指向プログラミングは構造がプログラミングの次」という点に 納得して下さったようだ。伝わってよかった。

「サブジェクト指向」なるどこかで聞いたタームが登場するのはまあご愛敬として。

しばしば耳にする「サブジェクト指向」は(「自己中すぎる」という小飼さんの指摘以外にも)、 メッセージセンドのフォーマットにこだわりすぎているような気がする。

たとえば、CLOSのマルチメソッドだったら「サブジェクト」は存在しないわけだが、 これが「オブジェクト指向ではない」というのはちょっと極端すぎるだろう。 あるいは、通常のメッセージセンド(or メソッド呼び出し)についても、 たしかにレシーバは特別な位置にあるが、それ以外の引数もやはりオブジェクトである点は 見逃してはいけないと思う。

本日のツッコミ(全3件) [ツッコミを入れる]
_ maeda (2006-01-31 22:12)

抽象データ型、オブジェクト指向は雰囲気として構造化プログラミングの延長にあるという気はします。特定の、行儀よい形に制限することによって扱いやすくするという点が似ていると思います。わざと具象データを隠してメソッド経由でアクセスするとか、データとコードのくっつけ方に制限(たとえば「メソッドはクラスの中に書く」など)をつけるとか。

で、構造化プログラミングで不十分だった「モジュールをどう分けたら良いのか」「どうやって依存性の低い切り離し方をするのか」という点に手がかりを与えてくれるんだと思います。GOTOでは自由すぎた制御フローを、構造化構文で制限して手なずけたように、コードの分割法、組み合わせ方に制限をつけることによって悪いプログラムが書きづらい・良いプログラムのほうが自然に書けるようになるのが重要なんだと思います。

そういう観点からすると、主語・述語とか、現実世界のメタファーとかは、あまり重要だと思いません。

また、ジャクソンやワーニエのいう「構造化設計」は(もちろん関連はあるものの)ちょっと発想が違うと思います。こっちは具象データの形をどう手なずけるか、という発想だと思います。

_ 野分 (2006-01-31 23:28)

サブジェクト指向のサブジェクトは動作主体としてのサブジェクトじゃないと思いますが……関心の中心、主題といった意味でのサブジェクトですよね?アスペクト指向に繋がる方向の。

ちなみに、オブジェクト指向でのサブジェクトは、あくまで『プログラマ』だと思います。そういう意味では、オブジェクト指向のオブジェクトは全て、主体性を持たない物体と言えるかもしれませんね。

_ みずしま (2006-02-01 05:26)

野分さんは、Subject Oriented Programming
http://www.research.ibm.com/sop/
のことをおっしゃられているのでしょうか。でしたら、
今回の話ではその意味での「サブジェクト指向」について
語っているようには見えないので、違う話なんじゃないかと
思います。

お名前:
E-mail:
コメント:
本日のリンク元
アンテナ
検索

RSS feed meter for http://www.rubyist.net/~matz/ Creative Commons License This work is licensed under a Creative Commons License.