Simula
クリステン・ニガードは1957年からコンピュータシミュレーションの開発を始めた。ニガードはコンピュータの動作とシミュレーションプログラムに要求されるものの不整合を適切に記述する方法が必要であると考えた。既存のコンピュータ言語で彼のアイデアを実現するにはプログラミングのスキル以外に何かが必要であると思われた。オルヨハン・ダールは1962年1月にニガードの業務に参加した。1962年3月までにはシミュレーション用プログラミング言語のメインコンセプトは固まっていた。ディクリートイベントシステムを持つシミュレーション専用のプログラミング言語 SIMULA I が開発された。
UNIVAC は UNIVAC 1107 を発売するにあたりニガードを1962年3月下旬に招待した。その際にニガードは UNIVAC のボブ・バーマーシステムプログラミング部長に Simula のアイデアを説明した。バーマーは ALGOL の熱烈なファンであり、Simula プロジェクトに説得力を感じた。IFIP(情報処理国際連合)が主催する情報処理の第2回国際会議の議長を務めていたバーマーは論文「SIMULA — An Extension of ALGOL to the Description of Discrete-Event Networks」を提出したニガードを会議に招待した。
ノルウェー計算機センターは UNIVAC との契約に基づいてダールがSIMULA Iを実装するため UNIVAC 1107 を1963年8月に特別価格で譲り受けた。これは UNIVAC 用 ALGOL 60コンパイラを元に実装された。
1965年1月には UNIVAC 1107 上で完全な SIMULA I を利用できた。ダールとニガードはその後の2年間に渡り Simula を教えることに費やした。Simula は複数の国に広がり、SIMULA I は後に バロース B5000 やロシアの URAL-16 に移植された。
アントニー・ホーアは1966年にレコードクラスのコンストラクタの概念を導入し、ダールとニガードは一般的なプロセス概念という要求を満たすためプリフィックスの概念などを導入してこれを拡張した。ダールとニガードはクラスとサブクラスの宣言についての論文を1967年3月にオスロで開催された IFIP のシミュレーション用言語についてのワーキングカンファレンスで発表した。この論文は Simula 67 の最初の正式な定義となった。1967年6月に言語を規格化して複数の実装を始めるためのカンファレンスが開催された。ダールはデータ型とクラスの概念の統一化を提案した。これは激論を巻き起こし委員会から却下された。SIMULA 67 は SIMULA 標準化グループ (SSG) の最初の会議で1968年2月に正式に標準化された。
Simula は Smalltalk やその後のオブジェクト指向言語に影響を及ぼした。Simula だけがコルーチンをサポートした言語ではないし、真の並列性は持たないが、アクターモデルの概念を呼び起こすのに役立った。
60年代後期から70年代前期にかけて Simula の4つの主要な実装があった。
UNIVAC 1100 用。