オブジェクト指向 オブジェクト指向の来歴

オブジェクト指向

出典: フリー百科事典『ウィキペディア(Wikipedia)』 (2024/04/02 03:16 UTC 版)

オブジェクト指向の来歴

Alan Kay

オブジェクト指向プログラミングの発案

オブジェクト指向(object-oriented)という言葉自体は、1972年から80年にかけてプログラミング言語「Smalltalk」を開発したゼロックス社パロアルト研究所の計算機科学者アラン・ケイが、その言語設計を説明する過程で誕生している[1]。本人の述懐によると、大学院時代のケイがプログラミング言語「Simula」に感化されて日夜プログラミング・アーキテクチャの思索に耽っていた1967年頃、今何をしているのかと尋ねてきた知人に対して「object-oriented programmingだよ」とその時の造語で答えたのが原点であるという。このオブジェクト指向が知名度を得るようになったのは1981年頃からであり、当時の著名なマイコン専門誌BYTEによるSmalltalkの誌上紹介が契機になっている。オブジェクト指向の中でケイはメッセージングという考え方を重視していたが、世間の技術的関心はクラスインスタンスの仕組みの方に集まり、オブジェクト指向の解釈はケイの考えとは異なる方向性で推移していった。クラスを初めて導入した言語はSimulaの1967年版だったので、こちらも後付けでオブジェクト指向の源流に位置付けられることになった[2]。Simulaに結び付けられたオブジェクト指向と、Smalltalkで提唱されたオブジェクト指向の性格は全く異なるものだったので、後のオブジェクト指向の解釈に数々の齟齬を生じさせている。1983年に計算機科学者ビャーネ・ストロヴストルップがSimulaをモデルにした言語「C++」を公開し、このC++が人気を博した事や、Smalltalkでも実際の開発に対応するためにSimulaスタイルの継承などの機能が取り入れられたことで、オブジェクト指向プログラミングはSimulaスタイルの方で認識されるようになった[3]

オブジェクト指向開発の始動

1986年からACM(計算機協会)がOOPSLA(オブジェクト指向会議)を年度開催するようになり、オブジェクト指向はコンピュータサイエンスの一つのムーブメントになった。OOPSLA初期のチェアパーソンは、Smalltalkが生まれたゼロックス社パロアルト研究所のフェローが務めることが多かった。Smalltalkは正確にはプログラミング言語GUIフレームワークを合わせた統合開発運用環境であり、ゼロックスAlto機上のOSまたはミドルウェアとして制作されていた。ゼロックスAltoGUIを初めて汎用的にサポートしたコンピュータとOSであり、かのスティーブ・ジョブスを啓発してMacintoshのモデルになったことはよく知られている。1980年代前半のコンピュータ界隈は、CUI(キャラクタ・ユーザーインターフェース)からGUI(グラフィカル・ユーザーインターフェース)への過渡期であったので、すでにプログラミングパラダイムとGUIデザイン理論をミックスさせていたオブジェクト指向は、その当時における次世代的なソフトウェア開発技術になり得るものとして関心を集めていた。

また別の背景としては、1970年代からの主流である構造化開発が拡張を続けていた中で、様々なデータ構造図データフロー図の技法およびデータモデリングの手法がやや乱立気味になっていたという事情があり、その見直しを兼ねて一からの仕切り直しによるソフトウェア開発技術の標準化(standardization)を図りたいとする産業界や計算機科学界の思惑もあった。オブジェクト指向はそのためのスローガンとしても最適であった。こうした経緯から技術的以外の意味も与えられたオブジェクト指向は同時にバズワード化することにもなっている。構造化開発機能を中心にして機能データ構造を個別にデザインする段階的詳細化を基礎にしていたのに対し、オブジェクト指向はデータと機能を一つにまとめたobjectをソフトウェアデザインの中心にした上でエドガー・ダイクストラ発案の抽象データ構造及びバーバラ・リスコフ提唱の抽象データ型を基礎にしていた。これは前述のSimulaスタイル由来である。オブジェクト指向開発(object-oriented development)という言葉を最初に引用したのは、1986年のソフトウェア技術者グラディ・ブーチであったとされる。その最初の活用対象になったのは、データベース開発とオペレーティングシステム開発およびユーザーインターフェース設計であった。

オブジェクト指向方法論の進展

OOPSLAの開催と連動してまずオブジェクト指向設計(OOD)とオブジェクト指向分析(OOA)が立ち上げられた。これは構造化開発のSDとSAに倣っていた。1980年代後半からOOPSLA界隈の識者たちによって様々な分析メソッドと設計メソッドが発表されるようになった。この分析/設計メソッドから導出される概念モデルを、形式的にチャート化ないしダイアグラム化するという作業がモデリングであり、構造化開発でも機能モデルデータモデル実体関連モデル(ER図)などが存在していたが、抽象化を尊ぶオブジェクト指向開発では特にこのモデリングが重視されたのが特徴である。1988年のオブジェクト指向システム分析(OOSA)、1990年からのCoad&Yourdon法、1991年のBooch法オブジェクトモデル化技法(OMT)、1992年のオブジェクト指向ソフトウェア工学(OOSE)、1993年のフュージョンメソッドとMartin&Odell法といった数々のオブジェクト指向方法論(object-oriented methodology)によるモデリング手法が発表され、いずれも形式言語化されていたのでオブジェクト指向では、モデリング言語プログラミング言語が並んでソフトウェア開発の両輪になった。

1990年前後から認知されるようになったオブジェクト指向方法論とは、要求分析概念設計モデリングプログラミングといった一連の工程を総括的に形式化した理論体系であり、ソフトウェア開発の総合技術としてのオブジェクト指向を体現していた。1994年にモデリング言語をプログラム設計に直接適用したGOFデザインパターンが初回発表された。Booch法とOMTとOOSEの考案者(スリーアミーゴス)は、後のIBMブランドになるラショナルソフトウェアで合流して統一モデリング言語(UML)を制作し、1995年のOOPSLAで初回発表した。オブジェクト指向はソフトウェア開発工程の分野にも広がり、モデル駆動工学ドメイン固有言語リファクタリングアジャイルソフトウェア開発といった数々のトピックもOOPSLAから誕生している。IBMラショナルはオブジェクト指向開発工程フレームワークを標榜するラショナル統一プロセスを2003年に公開した。

1989年にはIBM社Apple社、ヒューレットパッカード社サンマイクロシステムズ社アメリカン航空などの11社がコンピュータ産業共同事業団体OMG(Object Management Group)を設立した。その主な目的は、企業システムネットワークの基盤になる分散コンピューティングを構築するための分散オブジェクト設計の標準化を図ることであった。ここでのオブジェクトもデータとメソッドの複合体と定義されていた。1991年に分散オブジェクトの規格パラダイムとなるCORBAが発表された。1997年にOMGの標準モデリング言語はUMLに策定された。モデリングの形式体系化に力を注いでいたOMGはモデル駆動工学のメソッド確立を進めて、2001年にモデル駆動アーキテクチャを発表している。








固有名詞の分類


英和和英テキスト翻訳>> Weblio翻訳
英語⇒日本語日本語⇒英語
  

辞書ショートカット

すべての辞書の索引

「オブジェクト指向」の関連用語

オブジェクト指向のお隣キーワード
検索ランキング

   

英語⇒日本語
日本語⇒英語
   



オブジェクト指向のページの著作権
Weblio 辞書 情報提供元は 参加元一覧 にて確認できます。

   
ウィキペディアウィキペディア
All text is available under the terms of the GNU Free Documentation License.
この記事は、ウィキペディアのオブジェクト指向 (改訂履歴)の記事を複製、再配布したものにあたり、GNU Free Documentation Licenseというライセンスの下で提供されています。 Weblio辞書に掲載されているウィキペディアの記事も、全てGNU Free Documentation Licenseの元に提供されております。

©2024 GRAS Group, Inc.RSS