|
エドガー・ダイクストラ(Edsger Wybe Dijkstra, 1930年5月11日 - 2002年8月6日)は、オランダ人の計算機科学者。1972年、プログラミング言語の基礎研究への貢献に対してチューリング賞を受賞。構造化プログラミングの提唱者。1984年から2002年に亡くなるまでテキサス大学オースティン校の計算機科学の Schlumberger Centennial Chair を務めた。 2002年の死の直前、プログラム計算のについての仕事に対して ACM PODC Influential Paper Award を授与された。この賞は翌年からダイクストラを称えてと呼ばれるようになった。 エズガー・ダイクストラと表記されることもある。オランダ語での発音は、IPA表記で で、エツハー・ウィベ・デイクストラに近い。 == 生涯 == ロッテルダム生まれ。ライデン大学で理論物理学を学んだが、計算機科学の方に興味があることに気が付くのに時間はかからなかった。最初にアムステルダムの国立数学研究所 (Mathematisch Centrum) に職を得たが、オランダのアイントホーフェン工科大学で教授職を得る。1970年代初期にはバロースのフェローとしても働いた。その後、アメリカのテキサス大学オースティン校に移り、2000年に引退した。 彼の計算機科学に関する貢献としては、グラフ理論の最短経路問題におけるダイクストラ法、逆ポーランド記法とそれに関連する操車場アルゴリズム、初期の階層型システムの例であるTHEマルチプログラミングシステム、銀行家のアルゴリズム、排他制御のためのセマフォの考案などがある。分散コンピューティング分野ではというシステムの信頼性を保証する手法を提案した。ダイクストラ法は SPF (Shortest Path First) で使われており、それがOSPFやIS-ISといったルーティングプロトコルで使われている。操車場アルゴリズムやセマフォ(鉄道でかつて使われた腕木式信号機)に代表されるが、説明に鉄道を使用したことでも知られる。 1950年代には機械語でプログラムを組むことが多かったダイクストラだが、プログラミングにおけるGOTO文を評価しないという意見を持っていることで知られ、1968年に "A Case against the GO TO Statement"〔 (original ; transcription )〕を発表してgoto文撲滅運動の端緒とし、while文などの構造化制御構文への転換を促した。これが『Go to文は有害だと考えられる』(Go To Statement Considered Harmful) という刺激的な題名で学会誌に掲載されたが、これはダイクストラ本人がつけたものではなく、Communications of the ACM の編集者だったニクラウス・ヴィルトが付けたもので、"considered harmful" というフレーズが業界で流行るきっかけとなった。このような方法論を「構造化プログラミング」と呼び、1972年にアントニー・ホーアとオーレ=ヨハン・ダールとの共著を "Structured Programming" という題名にした。ダイクストラはBASICを教育に使うことにも強く反対していた〔 (original ; transcription )〕。 ダイクストラは ALGOL 60 のファンとしても知られ、最初のコンパイラを実装したチームにも参加していた。そのコンパイラ開発に関わった Jaap Zonneveld とダイクストラはプロジェクトが完了するまで髭を剃らないという誓いを立てた。それは、世界初の再帰をサポートしたコンパイラの1つである。 1968年には、THEと呼ばれるマルチプログラミング方式のオペレーティングシステムの構造に関する論文と、"Cooperating Sequential Processes" についての論文〔 (original ; transcription )〕を発表している。 1970年代になると、ダイクストラの主要な興味は形式的検証に移っていった。当時の一般的手法は、とりあえずプログラムを書いてからその正当性を数学的に証明するというものであった。ダイクストラはこれに対して、検証に時間がかかって面倒であるし、プログラムの開発手法に何ら洞察を与えない点が問題であるとした。一方「検証とプログラミングを同時に行う」のが「プログラム導出」と呼ばれる別の手法である。まず、プログラムの動作に関する数学的な「仕様」を記述し、その仕様に数学的な変換を加えて最終的にプログラムを導き出す。このように作成されたプログラムは「構造上正しい」ことが知られている。ダイクストラの後期の仕事は、この数学的手法を効率化することに関係している。2001年のインタビューで彼は「優雅さ」への渇望について述べていた。すなわち、完全さを求めるのではなく、思考を精神的に処理することが正しいアプローチであると。彼はたとえ話としてモーツァルトとベートーヴェンの作曲法を対比させている。 ダイクストラは分散コンピューティングの先駆者の1人でもある。例えば、彼の "Self-stabilizing Systems in Spite of Distributed Control" という論文はというサブフィールドを創始した。 計算機科学とプログラミングについての彼の意見は広範囲に及んだ。例えば、プログラミングについて「2以上なら、forを使え」という警句を作り、あるデータ構造の複数のインスタンスを処理している場合、経験則としてそのロジックをループ内にカプセル化すべきだと示唆した。彼は、プログラミングが本来非常に難しく複雑であり、プログラマはその複雑性をうまく管理するために可能な限り技巧と抽象化を利用する必要がある、という主張をした最初の人物でもある。計算機科学の抽象的性質について、次のように記している。
長年の癌との戦いの末、2002年8月6日、オランダのニューネンで亡くなった。 抄文引用元・出典: フリー百科事典『 ウィキペディア(Wikipedia)』 ■ウィキペディアで「エドガー・ダイクストラ」の詳細全文を読む 英語版ウィキペディアに対照対訳語「 Edsger W. Dijkstra 」があります。 スポンサード リンク
|