「オブジェクト指向」の版間の差分
削除された内容 追加された内容
タグ: 差し戻し済み ビジュアルエディター |
rvv タグ: 手動差し戻し |
||
4行目:
== オブジェクト指向の来歴 ==
[[ファイル:Alan Kay (3097597186) (cropped).jpg|サムネイル|222x222ピクセル|Alan Kay]]
オブジェクト指向(''object-oriented'')という言葉自体は、1972年から80年にかけてプログラミング言語「[[Smalltalk]]」を開発した[[ゼロックス|ゼロックス社]][[パロアルト研究所]]の計算機科学者[[アラン・ケイ]]がその言語設計を説明する中で初めて生み出されている<ref name="EarlyHistoryOfSmalltalk">{{Cite web|url=http://worrydream.com/EarlyHistoryOfSmalltalk/|title=The Early History Of Smalltalk|accessdate=2019-01|publisher=}}</ref>。本人の述懐によると、大学院時代のケイがプログラミング言語「[[Simula]]」に感化されて日夜プログラミング・アーキテクチャの思索に耽っていた1967年頃、今何をしているのかと尋ねてきた知人に対して「''object-oriented programming''だよ」と咄嗟の造語で答えたのが発端だという。このオブジェクト指向が知名度を得るようになったのは1981年頃からであり、当時の
1986年から[[Association for Computing Machinery|ACM]](計算機協会)が[[OOPSLA]](オブジェクト指向会議)を年度開催するようになり、オブジェクト指向は[[コンピュータサイエンス]]の一つのムーブメントになった。[[OOPSLA]]初期のチェアパーソンは、[[Smalltalk]]が生まれた[[ゼロックス|ゼロックス社]][[パロアルト研究所]]のフェローが務めることが多かった。Smalltalkは正確にはプログラミング言語と[[グラフィカルユーザインタフェース|GUI]]運用環境を合わせた[[フレームワーク]]であり、[[Alto|ゼロックスAlto]]機上の[[オペレーティングシステム|OS]]または[[ミドルウェア]]として開発されていた。Smalltalkは70年代の[[アラン・ケイ]]が構想していた[[ダイナブック]]のための[[グラフィカルユーザインタフェース|GUI]]環境でもあった。[[ダイナブック]]はパーソナルコンピュータの原型に位置付けられているものである。[[Alto|ゼロックスAlto]]は[[GUI]]を初めて汎用的にサポートしたコンピュータと[[オペレーティングシステム|OS]]であり、かの[[スティーブ・ジョブズ|スティーブ・ジョブス]]を啓発して[[Macintosh]]のモデルになったことはよく知られている。こうした背景からオブジェクト指向は、上述のプログラミング云々よりも、[[グラフィカルユーザインタフェース|GUI]](グラフィカル・ユーザー・インターフェース)を始めにした当時の先進的な[[ソフトウェア設計|ソフトウェアデザイン]]と[[ソフトウェアアーキテクチャ]]のための開拓的なモデル理論として受け止められる方が好まれた。[[デザインパターン (ソフトウェア)|デザインパターン]]、[[リファクタリング (プログラミング)|リファクタリング]]、[[モデル駆動工学]]、[[ドメインモデル]]、[[ドメイン固有言語]]、[[アジャイルソフトウェア開発]]といった数々のトピックが[[OOPSLA]]から
1989年には[[IBM|IBM社]]、[[アップル (企業)|アップル社]]、[[ヒューレット・パッカード|ヒューレットパッカード社]]、[[サンマイクロシステムズ|サンマイクロシステムズ社]]、[[アメリカン航空]]などの11社がコンピュータ産業共同事業団体[[Object Management Group|OMG]](Object Management Group)を設立した。OMGの目的は、企業システムネットワークの基盤になる[[分散コンピューティング]]を構築するための基礎要素になる分散オブジェクト設計の標準化を図ることであった。ここでのオブジェクトもデータとメソッド(=コード)の組み合わせと定義されていたので、この業務用システムないしネットワークの構築を目的にした技術アーキテクチャも人々の共通認識としてオブジェクト指向にそのまま包括された。1991年に分散オブジェクトの規格パラダイムとなる[[CORBA]]が公開された。また1997年に[[Object Management Group|OMG]]
▲1989年には[[IBM|IBM社]]、[[アップル (企業)|アップル社]]、[[ヒューレット・パッカード|ヒューレットパッカード社]]、[[サンマイクロシステムズ|サンマイクロシステムズ社]]、[[アメリカン航空]]などの11社がコンピュータ産業共同事業団体[[Object Management Group|OMG]](Object Management Group)を設立した。OMGの目的は、企業システムネットワークの基盤になる[[分散コンピューティング]]を構築するための基礎要素になる分散オブジェクト設計の標準化を図ることであった。ここでのオブジェクトもデータとメソッド(=コード)の組み合わせと定義されていたので、この業務用システムないしネットワークの構築を目的にした技術アーキテクチャも人々の共通認識としてオブジェクト指向にそのまま包括された。1991年に分散オブジェクトの規格パラダイムとなる[[CORBA]]が公開された。1997年に[[Object Management Group|OMG]]は前述の[[統一モデリング言語|UML]]を標準[[モデリング言語]]として採用し、[[統一モデリング言語|UML]]はオブジェクト指向準拠のソフトウェア設計およびシステム設計のスタンダードに位置付けられた。
==オブジェクト指向の分野==
21 ⟶ 19行目:
* [[オブジェクト関係データベース]] - 1990年代から
* [[オブジェクト指向分析設計]] - 1990年代から ←({{仮リンク|オブジェクト指向デザイン|en|Object-oriented design|label=オブジェクト指向設計}}、[[オブジェクト指向モデリング]])
*
* [[統一モデリング言語|UML]] - 1997年から ←([[Booch法|ブーチメソッド]]、[[オブジェクトモデル化技法]])
* {{仮リンク|オブジェクト指向マネージメント|en|Object-oriented Management|label=}} - 2000年代から
* {{仮リンク|オブジェクト指向存在論|en|Object-oriented ontology}} - 哲学分野
80 ⟶ 79行目:
2003年にとある知人からオブジェクト指向の意味を尋ねられた[[アラン・ケイ]]はこのようにメール上で答えている<ref>{{Cite web|url=http://userpage.fu-berlin.de/~ram/pub/pub_jf47ht81Ht/doc_kay_oop_en|title=Dr. Alan Kay on the Meaning of “Object-Oriented Programming”|accessdate=2019-1|publisher=}}</ref>。{{Quotation|''OOP to me means only messaging, local retention and protection and hiding of state-process, and extreme late-binding of all things.''
<br>(僕にとってのオブジェクト指向とは、メッセージング、ステートプロセスの局所保持かつ保護かつ隠蔽、徹底的な遅延バインディング、なんとこれ
「''messaging''」「''state-process''」「''late-binding''」のうち一番目と二番目は、''object-oriented''と同様にケイの造語なの
==== 2020年頃 ====
|