【言語設計】オブジェクト指向ってなに?
いつもご覧いただきありがとうございます。
本日は「オブジェクト指向」について
初学者なりに学習した内容を書いていきます。
オブジェクト指向とは
ソフトウェアで扱う事柄について、データ(変数など)と操作(メソッド)をまとめて1つのオブジェクトとして捉える。
と、捉えることができます。
オブジェクト指向の成り立ち
オブジェクト指向(object-oriented)という言葉自体は、
1972年から80年にかけてプログラミング言語「Smalltalk」を
公開した計算機科学者アラン・ケイが、
その言語設計を説明する中で初めて生み出されている。
他のエピソードによると、1967年に公開された「Simula 67」を
当時大学院生だったケイが知った際に、
object-orientedという咄嗟の造語で評論したのが発端だという。
なお、Simula 67に結び付けられたオブジェクト指向と、
後にケイ自身が開発するSmalltalkの理念とされた
オブジェクト指向の性格は全く異なるものであったが、
いずれにせよクラスとオブジェクトの設計を備えた
Simula 67もオブジェクト指向の草分けと見なされるよう
になった。
データとコードの複合体であるオブジェクト(object)という
用語を確立したのはSimula 67であったが、
その設計は手続き型プログラミングの機能拡張に近いものである。
ケイ自身は「LISP」の影響の方を強調しており、
実際に彼がSmalltalkで示したオブジェクト指向設計は全くの別物であった。
その後、計算機科学者ビャーネ・ストロブストルップが
1983年に公開した「C++」が契機となって、
オブジェクト指向に関連する様々な考え方が再定義されている。
C++の設計はSimula 67の方をモデルにしていた。
上述の様にオブジェクト指向とは元々プログラミング・パラダイムとして
編み出された理論であったが、1980年代からデータベースとOSの開発にも
その設計構想が活かされるようになり、
1990年代になるとソフトウェア工学の幅広い面にも応用されて、
オブジェクト指向を土台にした様々な分野が開拓される事になった。
「オブジェクト指向」についてかんたんにまとめさせていただきました。
最後までご覧いただきありがとうございました。