Re: 残念ながら、Smalltalkerのようなイメージでプログラムを見ることができない…


矢沢久雄のソフトウエア芸人の部屋 : 【第3回】 このごろオブジェクト指向セミナーの人気が高まっています より。


正直、あまり残念がる必要はないと思います。ケイのオブジェクト指向とストラウストラップのオブジェクト指向は、同じ「オブジェクト指向」を称してはいるものの、その視点や立ち位置はぜんぜん違うものですから…。むしろ合点がいったらコワイくらいです。w


現在主流の後者のオブジェクト指向の立場(カプセル化、すなわち“データ型”の設計を重視…)の考え方では「プログラムは、処理とデータからできている」で十分で、処理の動的な呼び出しをメッセージングと解釈するかどうかはその人の好み次第…というより、本来は無用のものです。むしろメッセージングなどというものは徹底的に排除して考える習慣をつけたほうが、ずっとその本質(抽象データ型とは何で、それをクラスで実装するメリットは何か…)にたどり着きやすいと思います。


ケイの「メッセージング」というアイデアは(もちろん万能ではありませんが…)たいへん強力であるため、いろんなものを“浸食”しがちです。シンパとしては嬉しい限りなのですが、それによって“汚染”させられた、他の人の優れたアイデア(ここではたとえばストラウストラップの考える「オブジェクト指向」…)が正しく伝わらなくなったり、理解しにくいものに変質させられてしまうのは、ちょっと残念に思います。