人物 :: PERSON
オーレ=ヨハン・ダール
Kristen Nygaard とともに Simula 言語を設計し、オブジェクト指向の基本概念を最初に一つの汎用言語へまとめた計算機科学者。1931年ノルウェー・マンダル生まれ。ノルウェー国防研究所で Jan V. Garwick のもとフェランティ・マーキュリー向けのプログラミングに従事したのち、1963年にノルウェー計算センターへ移り、Simula I(1965年完成)と Simula 67 の実装を主導した。クラス・サブクラス・仮想手続きの実装可能な形を与えたのは主に彼である。1968年にオスロ大学初の情報学教授となり、Dijkstra・Hoare との共著『Structured Programming』(1972年)や形式手法の研究へ進んだ。2001年 ACM Turing 賞、2002年 IEEE John von Neumann メダル。2002年没。
プロフィール
- 生年
- 1931
- 没年
- 2002
- 在世
- 71 年
- 関連事象
- 01
- 名称
- ENOle-Johan DahlJAオーレ=ヨハン・ダール
オーレ=ヨハン・ダール(Ole-Johan Dahl、 1931年10月12日 ノルウェー・マンダル生 ── 2002年6月29日 アスケル没)は、 Kristen Nygaard とともに Simula 言語を設計した計算機科学者である。 オスロ大学の informatics 学科の追悼ページは彼を「Nygaard とともに、 Simula とオブジェクト指向プログラミングの父」と位置づけている。
二人の役割は違っていた。 発想と目的意識を持ち込んだのが Nygaard なら、 その発想が実装できる形かどうかを即座に見抜き、 概念と実装の両方が成り立つ形へ鋳直したのが Dahl である。
前半生
7歳のときにドラメンへ移り、 13歳のとき、 ドイツ占領下のノルウェーから家族でスウェーデンへ逃れた。 戦後、 オスロ大学で数値解析を学ぶ。
その後ノルウェー国防研究所(NDRE)に入り、 Jan V. Garwick のもとでフェランティ・マーキュリー計算機のプログラミングに携わった。 1957年の「Multiple index countings on the Ferranti Mercury computer」、 1958年の Garwick との共著『Programmer's handbook for the Ferranti Mercury Computer』が、 この時期の仕事である。 Nygaard も1960年まで NDRE にいた ── 二人はここで互いを知っている。
Simula
1962年1月、 NCC(ノルウェー計算センター)へ移っていた Nygaard は、 待ち行列系を記述する言語の構想がまとまったと書き、 「腕のいいプログラマ」に会う予定を記した。 それが Dahl だった。 Dahl は1963年5月に NCC の常勤となる。
初期構想(後年「Simula 0」と呼ばれる)は ALGOL コンパイラの前処理系として実装するはずだったが、 ALGOL の後入れ先出し方式では、 生存期間の自由なオブジェクトを扱えない。 Dahl はコンパイラの内側に踏み込み、 ヒープ割当てと、 参照カウントと自由リストに基づくごみ集めを設計した。 この自由が言語の一般化を可能にし、 能動的な「ステーション」と受動的な「カスタマ」は「プロセス」というひとつの概念に統合される。
Simula I の実装は1964年4月から1965年1月。 UNIVAC 1107 用の ALGOL コンパイラを Simula コンパイラへ作り替える作業で、 主導したのは Dahl だった。 Bjørn Myhrhaug と Sigurd Kubosch が加わっている。
Simula 67 では、 C.A.R. Hoare のレコード分類の提案を受けて、 1966年終盤に「サブクラスはスーパークラスと独立に宣言できる」という接頭辞(prefix)方式に到達した。 仮想手続きは、 1967年3月の論文提出後に詰められ、 同年5月のリセブの会議にぎりぎり間に合っている。 言語は1968年2月10日に Simula Standardization Group が承認した Common Base Language 報告で凍結された。
Krogdahl による Simula 史は、 二人の作業様式について HOPL の論文から引いている ── 研究チームによっては新しい着想は大切に扱われるが、 Simula の開発ではそうではなく、 一方が新しい着想を持ち出すと、 もう一方は顔を輝かせてそれを潰しにかかった、 と。 深く長い議論を通らない概念は言語に入らなかった。
オスロ大学と形式手法
1968年、 Dahl はオスロ大学の正教授となる。 ノルウェーで最初の情報学(informatics)教授であり、 同大学に計算機科学という学科分野そのものを立ち上げた人物である。
大学での主要な仕事は「Hierarchical Program Structures」で、 Edsger Dijkstra、 C.A.R. Hoare との共著『Structured Programming』(1972年)に収められた。 1970年代のソフトウェア論としては最もよく知られた本のひとつである。
以後、 彼の関心は形式手法 ── プログラムについて厳密に推論する方法 ── へ移る。 当時の理論計算機科学者の多くと違い、 Dahl の議論は実装経験に根ざしていた。 Olaf Owe を最も近い協働者として、 言語・仕様・検証とその道具立て(長期プロジェクト ABEL)、 そしてオブジェクト指向のための形式手法を追った。
受賞
- 2000年 ── 聖オーラヴ勲章コマンダー(ノルウェー国王より、 Nygaard とともに)
- 2001年 ── ACM A.M. Turing 賞(Nygaard と共同受賞)
- 2002年 ── IEEE John von Neumann メダル(Nygaard と共同受賞)
2017年9月27日には、 オスロ大学に IEEE マイルストーン「Object-Oriented Programming, 1961-1967」の銘板が掲げられた。 国際的なオブジェクト技術の学会 AITO が設けている Dahl-Nygaard 賞 は、 二人の名を冠している。
継承されたもの
Dahl と Nygaard が作った概念は、 彼らの言語ではなく他人の言語で普及した。 Alan Kay は1970年代に Xerox PARC で Simula の着想を取り込んで Smalltalk を作り、 Bjarne Stroustrup は C++ を、 Simula のプログラム構成機能と C の効率を併せ持つ言語として設計した。 Java も C# も Python も、 クラスと継承と仮想手続きという語彙をそのまま引き継いでいる。
Simula 自体を書いた人は、 いまではごく少ない。 それでも、 現代のプログラマの大半は毎日 Dahl の設計の中で仕事をしている。
関連する出来事
最終更新: