クエリ: オブジェクト指向プログラミングが開発されたのはいつ
文章: オブジェクト指向プログラミング オブジェクト指向プログラミングは、ソフトウェアの大規模化に伴い、より効率的な開発手法が模索される中で1960年代に考案された。OOP言語は歴史的にクラス構造を中心とする"Simula"系統と、メッセージ機能を主体とする"Smalltalk"系統に分けられるが、後に"C++"や"Java"などの言語が派生した前者が主流となった。この前者のオブジェクト指向が示す「内部隠蔽」「継承」「多態性」の三仕様を備えていれば、OOP言語であると見なされる。
文章: Enterprise Objects Framework 1990年代初期NeXTは、データベース利用が多くのビジネスにとって基本であり、かつそれがかなり複雑であることを認識していた。データのソースが違えばアクセス言語(あるいはAPI)も違うため、学習に要するコストや各社製品を使うことによるコストが問題となっていた。NeXT の技術者はオブジェクト指向プログラミングの利点を生かし、オブジェクトに関係データベースと対話させようと考えた。オブジェクト指向と関係データベースは全く異なる技術であるため、何らかの抽象化層を作る必要があると考えられた。それによって、開発者が低レベルで各データソースに固有な手続き的コード (SQL) を書くことから解放されるのである。 文章: アスペクト指向プログラミング オブジェクト指向プログラミングとは直交するプログラミングパラダイムである。 文章: オブジェクト指向プログラミング Selfのようなインスタンスベースのオブジェクト指向プログラミング言語では、プロトタイプとなるオブジェクトがメッセージを処理するコードも保持しており、オブジェクトがクローンされて作成されるときにそのプロトタイプのありかを示す情報もコピーされ、メッセージは受け取ったオブジェクトのIDを添えてプロトタイプに送られて処理される(Selfでは実行効率上の問題から後に内部的にクラスを作って利用するようになっている)。 文章: オペレーティングシステムの歴史 暫定Dynabook(Smalltalk)の生み出したもう一つの特色であるオブジェクト指向についても、初期のMac OSやMicrosoft Windowsの段階でこそ限定的であったが、マシンパワーに比較的余裕の出てきたネクスト・コンピュータのNEXTSTEPあたりからOSの構築に本格的に取り入れられるようになった。 文章: まつもとゆきひろ プログラミング言語「Ruby」の開発者。1993年(平成5年)から開発を始めたRubyは、その後、手軽なオブジェクト指向スクリプト言語として日本国外にも普及した。 文章: Xerox Star Starはプログラミング言語Mesaを用いて作られた。この言語はModula-2及びModula-3に大きな影響をあたえたものである。Mesa自身はオブジェクト指向言語ではないが、各種プログラミングツールとプログラミング技法は擬似的なオブジェクト指向設計とオブジェクト指向プログラミング環境を提供していた。 文章: Small Basic 同社のVisual Basicと同様にBASIC言語を基に作られているが、Visual Basicはオブジェクト指向言語であり、本格的なソフトウェア開発にも使用されるのに対し、Small Basicはオブジェクト指向の概念は無く、プログラミングの入門者向けツールという位置づけである。 文章: オブジェクト指向 オブジェクト指向(オブジェクトしこう、)は、ソフトウェア工学構想の一つであり、ソフトウェア設計とプログラム記述の際に用いられる考え方である。 文章: IDEF IDEF4の開発は、オブジェクト指向プログラミングパラダイムからの結果、モジュール性、維持性、及びコードの再利用性が、伝統的なデータ処理アプリケーションで実現され得ることを認識したことから始まった。大規模複雑な分散システムにおけるデータ・レベルの統合を支援するオブジェクト指向プログラミング・パラダイムの実証された能力は、また伝統的なデータ処理コミュニティからこの技術に対する幅広く広がった関心における大きな要素でもあった。 文章: Object Pascal Object Pascal(オブジェクト パスカル)は、コンピュータのプログラミング言語のひとつ。広義には、その名前の通りPascal言語にオブジェクト指向の概念を導入したものであり、狭義には、ボーランドの統合開発環境 (IDE) であるDelphi(ただしボーランドの開発ツール部門CodeGearは2008年にエンバカデロ・テクノロジーズに合併されている)や、Free Pascalで使用されるような個別の言語仕様を指している。 文章: 命令型プログラミング 1980年代、オブジェクト指向プログラミングが急成長を遂げた。オブジェクト指向言語の多くは命令型のスタイルであるが、オブジェクトを扱う機能が追加されている。その後20世紀末まで、その種のプログラミング言語は多数開発された。1969年にアラン・ケイが考案したSmalltalkは、1980年にパロアルト研究所からリリースされた。他にも、1960年代後半から開発されていた世界初のオブジェクト指向言語 Simula や、C言語に基づいてビャーネ・ストロヴストルップが設計したC++がある。C++の最初の実装は1985年である。1980年代末から1990年代にかけて登場したオブジェクト指向のコンセプトを導入した命令型言語として以下のものがある:"本項目は Stan Seibert が Imperative programming について書いた Nupedia 上の記事(GFDLライセンス)に基づいて英語版 Wikipedia に掲載されたものを翻訳したものである。" 文章: オブジェクト指向分析設計 オブジェクト指向分析とオブジェクト指向設計を含めた、オブジェクト指向開発の具体的な方法論を、オブジェクト指向開発方法論 (object-oriented methodology) という。これまで非常に多くのオブジェクト指向開発方法論が考案されている。 文章: オブジェクト関係マッピング オブジェクト指向プログラミングでは、データ管理タスクは一般に単純なスカラーではない値を持つオブジェクトを操作するよう実装される。例として、1人の人物に0個以上の電話番号と0個以上の住所が対応している住所録での住所検索を考えてみよう。オブジェクト指向的な実装では、「人物オブジェクト」に住所録の内容を格納する「スロット」が備わっているような形態でモデル化される。スロットとしては、氏名、電話番号のリスト(または配列)、住所のリストが考えられる。電話番号リストは「電話番号オブジェクト」で構成され、他も同様に対応するオブジェクトで表される。プログラミング言語からは、ある人物の住所録がひとつの値として扱われる(例えば、1つの変数で参照される)。このオブジェクトに対して、推奨電話番号を返すメソッド、自宅電話番号を返すメソッド、などの各種メソッドが関連付けられる。 文章: オブジェクト指向プログラミング このような場合、各オブジェクトがそれぞれメッセージ処理のコード(前述の「振る舞い」に当たる)を独自に備えていては無駄である。そこでオブジェクト指向プログラミング言語がオブジェクトを実現する際には多くの場合、内部的にはオブジェクトを2つの部分に分けている。 文章: Objective-C Objective-Cは、1983年にとTom Loveによって開発され、そのコンパイラやライブラリを支援するためにStepstone社を創立した。Stepstone社は、Objective-Cに力を注いだが、それはマイナーな存在であった。Objective-Cが認知され始めるきっかけは、1985年、アップルコンピュータを去ったスティーブ・ジョブズが、m68k機であるNeXTコンピュータとNeXTSTEPオペレーティングシステムの開発を行うNeXT Computer社を創立したことに始まる。