どうも。はじめまして。
>しかし、それでも難しいという印象を持たれているのは、「どういうものか」は
>頑張って説明するけれど、「どのようにありがたいのか」が伝わらないためでは
>ないでしょうか。
そう思います。ていうかプログラミング言語はもちろん、プログラミングパラダイム
まで含めても所詮「道具」に過ぎないわけで、道具なら、何の役に立つのかが
わからなければならないはずです。
>「メッセージ」というと、ぱっと思いつくのが「(WM_CREATE などの)Window
> メッセージ」ですが、Windows のアーキテクチャというのは、まさに
> オブジェクト指向なのだと痛感させられます。
…
>が、MFC なんぞ使わず SDK でウィンドウプロシージャを書いている人は、
>非オブジェクト指向言語を使っているんだなぁ、と思うと、何だか妙な気分です。
SDKでウィンドウプロシージャを書く人は、「メッセージ」のディスパッチを
特に苦労なく学べるんじゃないかと思っています。まあイベントドリブンへの
発想の転換は必要でしょうが、メッセージの受け渡しそのものは別に難しくない。
Cの知識そのままでいけます。
でも、「オブジェクト指向ではオブジェクト同士がメッセージを~」という
説明では混乱する人が出てくる。これは、「メッセージパッシングは
関数呼び出しとは異なるものだ」という説明があるせいだろうと思うわけです。
>「オブジェクト指向で再利用性は高まるか?」
>
>高まると思いますが、マルチプルインスタンスについて論じているらしい
>「こちら」のリンクが切れているので、先がすごく気になります…
や、すみません。リンク先のURLにNOREFと書いてあるので、いずれ続きを書くつもり
だったんだろうと思います。
で、当初書くつもりだったことは既に書いたつもりですので、
おそらくこのリンク先は、
http://kmaebashi.com/programmer/object/shigoto.html
ここのStringTokenizerあたりの説明のことを指しているのだと思います。
# 既に忘却の彼方です。すみません。
>それは Eiffel が「外部から書き込み可能な public 変数」という概念を
>持たないから言えることであって、その保護機能がない C++ では、
>変数を private にして getter のみ実装することは、Eiffel 風に言えば
>「公開」であると思います。
もうひとつ重要なのは、Eiffelでは引数無しのメソッド呼び出しでは()が
不要だということですね。
>まぁ、この Eiffel 本は「だから C++ はダメな言語だ。さぁ、皆で
>Eiffel を使おう!」とか言い出しそうな勢いですが。
すみません、ちなみにその本は何という本でしょうか。
よろしければ教えてください。
>> 継承は、ソースの再利用の手段ではないということです。
>
>うーん…結局、ソース以外の何を再利用するんだろう、と思います。
>いや、言わんとすることはわかるんですが、突き詰めると、ソースの
>再利用じゃん、と。
私が書いたのは、「継承は、(ソースであれなんであれ)再利用の手段ではない」
ということです。継承は抽象化の手段だと思っています。
>最後にひとつ、感じたことを言わせていただくと…
>この再入門講座は「オブジェクト指向とは何であるか」ではなく
>「オブジェクト指向とは何でないか」を説明していることが多いように
>思えたのでした。
まあこれはそうでしょうねえ。
既存の説明について、ちょっとそれはないんじゃないか、というコンセプトで
書いてますから。