オブジェクト指向
当初、「オブジェクトへのメッセージ送信」というメタファにのっとり、問題を記述したりその解決をはかるパラダイムを意味していたが(その実践および検証に用いられたのが Smalltalk システム…)、その後、C++ の台頭と普及により「クラス指向」と呼ぶべき抽象データ型のスーパーセットという別の意味合いにとってかわられた。現在、オブジェクト指向は、一部の例外を除けば、両者をミックスした曖昧な概念として語られる。--sumim
関連
オブジェクトを中心に据えてソフトウエアを構築、もしくは発想、思考、設計、分析するためのパラダイム。なにげに使われることが多いが、明確な定義は難しく、その局面での都合のよい定義と範疇の規定をあらかじめ済ませておかないととんだトラブルを巻き起こすので注意が必要。便利だが、物事を決定づけるフレーズ中で用いたり、突き詰めて考えようとしてはいけない言葉のひとつ。--sumim
なぜ、突き詰めてはいけないかが最近、分かってきました。世の中には、SIMULA 67 の「オブジェクト」と「クラス」という機構をヒントに、少なくとも2つ(抽象データ型を含めれば3つ)のオブジェクト指向という考え方が誕生したようです。ひとつはオブジェクトへのメッセージ送信というメタファに重きをおいたケイの(端的には Smalltalk により実践される)オブジェクト指向。もうひとつは、建前としては Smalltalk とは独立に整備されたとされる「クラス指向」と呼ぶべきストラウストラップの(端的には C++ がサポートする)オブジェクト指向。
前者はもちろん、それがすべてというわけではないにせよ、後者の骨子(カプセル化、継承、多態性)を含んでいますし、後者は解釈によっては関数呼び出しをメッセージ送信と見なすことも不可能ではなかったため、小異(というか、何を重んじるべきかというそれぞれの発案者の想い)は脇に追いやられ、統一した世界観で語られるようになったわけです。しかし、大まかで曖昧な表現や説明には耐えられても、突き詰めてしまうと、前者よりの人には後者は「クラス設計より大事なものもあるのでは?」、後者よりの人には前者は「メッセージって何さ?」という違和感や本当にこれがそうなのかという疑念が生じてしまう…とそうしたからくりで「オブジェクト指向」が理解しづらいものになっているのではないでしょうか。--sumim
関連
ノーベル賞の平和賞のような言葉、<解釈の幅って広いねんね〜!--kimurako
単体でこの言葉を使う人って、基本的に信用できない。--spiral
オブジェクト指向というのは、宗教のようなものだ。--CUE
当初掲げた目的を達することに集中する姿勢。--sumim
モノとタイショウとが旨い具合に同一の概念として収まりついてくれる、などという楽天的な捉え方を、一度でいいからしてみたいものだと以前思ったもんでした(笑) --戯
このページを編集 (2635 bytes)
|
以下の 39 ページから参照されています。 |
- Smalltalk 最終更新: 2007-02-13, 17:54:17 <pharm88>
- すべてがデブになる 最終更新: 2003-08-26, 21:53:32 <eac1agn>
- SIMULA 67 最終更新: 2005-08-18, 14:26:11 <phara>
- Dynabook 最終更新: 2011-04-14, 22:45:13 <uq1-221>
- すべてがFになる 最終更新: 2014-10-22, 09:11:15 <phara2>
- 言語によるオブジェクト感覚の違い 最終更新: 2006-04-08, 14:20:37 <192>
- Croquet 最終更新: 2016-12-28, 14:51:30 <phara2>
- オブジェクト指向の表現流儀 最終更新: 2003-04-08, 12:54:06 <tibook>
- インスペクタ 最終更新: 2003-12-07, 18:14:16 <airh128>
- クラスベース・オブジェクト指向 最終更新: 2003-02-21, 13:37:57 <tibook>
- オブジェクト指向プログラミング 最終更新: 2007-03-16, 15:37:50 <pharm88>
- カプセル化 最終更新: 2006-04-03, 22:43:44 <192>
- 多態性 最終更新: 2006-04-03, 22:44:14 <192>
- 継承 最終更新: 2006-04-03, 22:44:30 <192>
- プロトタイプベース・オブジェクト指向 最終更新: 2006-04-26, 10:32:39 <khp0591>
- ドリトル 最終更新: 2004-10-28, 19:47:06 <tibook>
- 戯 最終更新: 2003-11-23, 13:37:47 <airh128>
- MVC、これでいいのか? 最終更新: 2004-11-10, 11:49:14 <proxy1>
- MVC 最終更新: 2013-11-11, 19:35:29 <phara2>
- メッセージ指向 最終更新: 2007-03-28, 17:32:29 <pharm88>
- オブジェクト指向デザインのキーワード 最終更新: 2003-12-31, 11:40:17 <61-27-2>
- Apple のタコな発想 最終更新: 2004-09-10, 12:22:52 <tibook>
- HyperTalkとプロトタイプベース 最終更新: 2004-12-04, 16:46:06 <adsl-22>
- CLOS 最終更新: 2003-12-22, 13:10:34 <tibook>
- Objective-C 最終更新: 2006-02-17, 12:02:13 <phara>
- 抽象データ型 最終更新: 2007-03-16, 15:37:29 <pharm88>
- 抽象データ型とオブジェクト指向の決定的な違い 最終更新: 2012-11-07, 10:44:33 <phara2>
- JavaServlet 最終更新: 2004-10-08, 19:46:04 <tibook>
- オーバーライド 最終更新: 2004-04-14, 00:24:49 <flchb1->
- メッセージ送信 最終更新: 2006-02-12, 22:22:02 <192>
- 同一 最終更新: 2004-09-24, 16:33:47 <tibook>
- ソフトウェア配線 最終更新: 2005-01-20, 11:45:54 <61>
- ファーストクラス・オブジェクト 最終更新: 2007-07-17, 16:02:50 <cachefl>
- Haskell vs Smalltalk(あるいは、抽象データ型 vs オブジェクト指向) 最終更新: 2004-05-16, 19:39:36 <s121125>
- 戯/ばぶばぶ 最終更新: 2003-11-18, 15:35:01 <laplace>
- CyberFramework 最終更新: 2003-12-03, 21:43:18 <laplace>
- ポリローグ 最終更新: 2003-12-20, 05:19:50 <airh128>
- 関連 最終更新: 2003-12-20, 17:36:19 <airh128>
- あなたが Sqeuak、Smalltalk を使うべきでない 10 の理由(募集中) 最終更新: 2006-06-08, 11:48:25 <pharm88>
This page has been visited 16287 times.