オーレ＝ヨハン・ダール
ノルウェーのマンダールで生まれた。ノルウェーでは最も有名な計算機科学者である。クリステン・ニガールと共に1960年代にオブジェクト指向プログラミングのアイデアを生み出し、 (NR) で Simula I（1961年–1965年）と Simula 67（1965年–1968年）をシミュレーションのためのプログラミング言語として開発した。ダールとニゴールはここで世界初のクラス、（明示的カプセル化を可能とした）サブクラス、継承、動的オブジェクト生成などオブジェクト指向パラダイムに重要な観点の数々を生み出した。「オブジェクト」はソフトウェアシステムにおける自己完結型の部品であり、その中にデータ構造とメソッドを持つ。オブジェクト群を統合して完全なシステムを形成する。オブジェクト指向は現在ではソフトウェア開発手法として広く普及しており、JavaやC++といった言語がある。
オブジェクト指向プログラミング
一方、Smalltalkとは別にSimulaの影響を受け作られたC++（1979年）は抽象データ型のスーパーセットとしてのクラス、オブジェクトに注目し、オブジェクト指向をカプセル化、継承、多相性をサポートするものと再定義した（その際、実行時速度重視及びコンパイラ設計上の制約により、変数メタファである動的束縛の特徴は除外された）。これらは当初抽象データ型、派生、仮想関数と呼ばれ、オブジェクトのメンバ関数を実体ではなくポインタとすることで、継承関係にあるクラスのメンバ関数のオーバーライド（上書き）を可能にしたことで、多相性を実現した（この流儀ではメッセージメタファはオブジェクト指向に必須ではないものと定義し、オブジェクトの持つ手続きをメソッドとは呼ばずメンバ関数と呼ぶ）。この他、Smalltalkにある動的束縛の類似的な機能としてオーバーロード（多重定義）が実装されている。