こっちの話題に食いつきたかったのだ、ホントは。
オブジェクト指向は、プログラミングのスタイルの話であるのだから、
「オブジェクト指向プログラミング言語」は、
「オブジェクト指向プログラミングの言語」であって、
「オブジェクト指向のプログラミング言語」だとヘンなわけだ(あれ?)
まぁ、ストラウストラップの定義だと、例えば情報隠蔽が殆どされていない
Pythonをオブジェクト指向プログラミング言語とはとても呼べない(笑)
とゆーか、実際逆に「情報公開言語」とでも云うにふさわしい言語だったり
するのだが、隠蔽の理由が「オブジェクトのユーザが余計な事を考えずに
プログラミングできるように」という理由であれば、ブラックボックス化
しなくても、パッケージ化さえしておけば事足りる、と思うのは、やっぱ
頭がPy脳になってるからなのだろうか?
ケイのメッセージ指向のほうが、Pythonには自然にできそうな気がする
のだけど、前の例にも出したが如く、メッセージを独立して扱うためには
かなり裏技っぽいコトをしなければならないことになるので、やっぱりか
なり限定された形でしか再現できない。
ところで、クックは抽象データ型と対比させてオブジェクトを定義した
みたいだけど、プログラミングの方法としては、OOPの対極……というか、
完全に別のパラダイムなのは、やっぱ関数型プログラミング、かしらん?
/機械伯爵/