「A History of CLU」(PDF) の 2. Data Abstraction からの抜粋。
概要
- 「抽象データ型」という考え方は、リスコフらにより 1972 年の終わりから 1973 年の夏頃までにまとめられた。
- 「抽象データ型」は、データとオペレーションのセット。
- データの内部情報へのアクセスはこのオペレーションを介してのみ行える。
- データの内部情報に関する詳細は隠蔽されている。
成立までの流れ
- 当時は、プログラミングの効率やコードの質を向上させるための手法に大きな関心が払われていた。
- 二つの流れが存在。ひとつはダイクストラの構造化プログラミング。もうひとつがモジュール化。
- モジュール化については、リスコフも自ら「パーティション」という機構を提唱。
- これはダイクストラの「抽象化レベル」という概念に基づいている。
- システムは抽象化レベルごとパーティションで表わされ、パーティションはひとつ以上の関数からなる。
- パーティションに帰属するデータは、関数の呼び出しを介してしか他のパーティションとやりとりできない。
- 「抽象データ型」は、このモジュール化の考え方をプログラミング言語の「データ型」と結びつけたもの。