vieweditattachhistoryswikistopchangessearchhelp

オブジェクト指向

当初、「オブジェクトへのメッセージ送信」というメタファにのっとり、問題を記述したりその解決をはかるパラダイムを意味していたが(その実践および検証に用いられたのが Smalltalk システム…)、その後、C++ の台頭と普及により「クラス指向」と呼ぶべき抽象データ型のスーパーセットという別の意味合いにとってかわられた。現在、オブジェクト指向は、一部の例外を除けば、両者をミックスした曖昧な概念として語られる。--sumim

関連




オブジェクトを中心に据えてソフトウエアを構築、もしくは発想、思考、設計、分析するためのパラダイム。なにげに使われることが多いが、明確な定義は難しく、その局面での都合のよい定義と範疇の規定をあらかじめ済ませておかないととんだトラブルを巻き起こすので注意が必要。便利だが、物事を決定づけるフレーズ中で用いたり、突き詰めて考えようとしてはいけない言葉のひとつ。--sumim

なぜ、突き詰めてはいけないかが最近、分かってきました。世の中には、SIMULA 67 の「オブジェクト」と「クラス」という機構をヒントに、少なくとも2つ(抽象データ型を含めれば3つ)のオブジェクト指向という考え方が誕生したようです。ひとつはオブジェクトへのメッセージ送信というメタファに重きをおいたケイの(端的には Smalltalk により実践される)オブジェクト指向。もうひとつは、建前としては Smalltalk とは独立に整備されたとされる「クラス指向」と呼ぶべきストラウストラップの(端的には C++ がサポートする)オブジェクト指向。

前者はもちろん、それがすべてというわけではないにせよ、後者の骨子(カプセル化継承多態性)を含んでいますし、後者は解釈によっては関数呼び出しをメッセージ送信と見なすことも不可能ではなかったため、小異(というか、何を重んじるべきかというそれぞれの発案者の想い)は脇に追いやられ、統一した世界観で語られるようになったわけです。しかし、大まかで曖昧な表現や説明には耐えられても、突き詰めてしまうと、前者よりの人には後者は「クラス設計より大事なものもあるのでは?」、後者よりの人には前者は「メッセージって何さ?」という違和感や本当にこれがそうなのかという疑念が生じてしまう…とそうしたからくりで「オブジェクト指向」が理解しづらいものになっているのではないでしょうか。--sumim

関連




ノーベル賞の平和賞のような言葉、<解釈の幅って広いねんね〜!--kimurako

単体でこの言葉を使う人って、基本的に信用できない。--spiral

オブジェクト指向というのは、宗教のようなものだ。--CUE

当初掲げた目的を達することに集中する姿勢。--sumim

モノとタイショウとが旨い具合に同一の概念として収まりついてくれる、などという楽天的な捉え方を、一度でいいからしてみたいものだと以前思ったもんでした(笑) --戯

このページを編集 (2635 bytes)


Congratulations! 以下の 39 ページから参照されています。

This page has been visited 16275 times.