コンテンツにスキップ

英文维基 | 中文维基 | 日文维基 | 草榴社区

アントニー・ホーア

出典: フリー百科事典『ウィキペディア(Wikipedia)』
チャールズ・アントニー・リチャード・ホーア
EPFLでのカンファレンスにて(2011年6月20日)
生誕 (1934-01-11) 1934年1月11日(90歳)
 セイロン コロンボ
居住 イギリスの旗 イギリス ケンブリッジ
研究分野 計算機科学
研究機関 エリオット・ブラザーズ
クイーンズ大学ベルファスト
オックスフォード大学
モスクワ大学
マイクロソフトリサーチ
出身校 オックスフォード大学
モスクワ大学
主な業績 クイックソート
ホーア論理
CSP
主な受賞歴 チューリング賞 (1980)
フォン・ノイマンメダル(2011)
ロイヤル・メダル(2023)
プロジェクト:人物伝
テンプレートを表示

チャールズ・アントニー・リチャード・ホーア(Charles Antony Richard Hoare、1934年1月11日 - )[1]は、イギリス計算機科学者。通称はトニー・ホーア(Tony Hoare)またはC・A・R・ホーア

クイックソート(一般的な場合には最も性能の良い実装ができるとされるソートアルゴリズム)の考案でも知られるが、専門的な業績としては、ホーア論理や、並行プロセスを形式記述するCommunicating Sequential ProcessesCSP)などがある。CSP[※ 1]プログラミング言語Occamに示唆を与えた。

経歴

[編集]

イギリス領セイロンコロンボにてイギリス人の両親の元に生まれた。1956年オックスフォード大学にて西洋古典学の学士号を取得。 その後オックスフォード大に1年残って大学院相当の統計学を学ぶ。1956年から1958年までイギリス海軍で兵役に就く。そしてソビエト連邦モスクワ大学にてロシア語を学ぶと同時に、自然言語の機械翻訳について研究を始める。

1960年エリオット・ブラザーズ社という小さなコンピュータ製造会社にて仕事を始め、ここで ALGOL 60 を実装、各種アルゴリズムの開発に本格的に着手する[2]1968年にはクィーンズ大学ベルファスト校計算機科学の教授となり、1977年にはオックスフォードに戻ってコンピューティングの教授となり、クリストファー・ストレイチーの死に伴ってオックスフォード大学コンピューティング研究所(現在の計算機科学科)プログラミング研究部門を指揮するようになった。現在彼は同大学の名誉教授であり、イギリスケンブリッジマイクロソフト リサーチの主任研究者でもある。

主な研究業績としては、ソートアルゴリズム(クイックソート)、ホーア論理並行プロセスの相互作用などを形式的に記述し、検証などを行える形式体系(formal system)であるCommunicating Sequential Processes(CSP)、モニタの概念を使った構造化オペレーティングシステムプログラミング言語公理的意味論などがある[3][4]

語録

[編集]

有名な「97%ぐらいの場合、小さな効率については考えるべきではない。早まった最適化は諸悪の根源だ。」という引用句はドナルド・クヌースのものであると考えられる[5] 。クヌース自身はホーアの言葉だと述べているが[6]、ホーア自身はそれを否定している[7]

また、複雑すぎないソフトウェアシステムを作成する困難さについて次のように述べている。

ソフトウェアを設計するには、2通りの方法がある。1つは、とてもシンプルに設計して、明らかに欠陥がないようにすること。もう1つは、とても複雑に設計して明らかな欠陥がないようにすることだ。前者の方がはるかに困難である。[3]

1995年には独自の考え方を考察している[8]

10年前、形式手法の研究者ら(特に私)は、プログラムがより大きくなりかつ安全性に対する要求が増すに従って、形式手法が約束したプログラムの信頼性問題に対する解決手法が感謝をもって認められるだろうと予測していた。今日のプログラムは、形式手法が通用するスケールを遥かに越えて、非常に巨大化し重要になっている。多くの問題と失敗があったが、それらの多くは要求仕様の不十分な分析とマネジメントの不足に起因している。かつて我々が解決しようとしていた種類の問題は、世界にとって取るに足らない程度のものでしかなかったことがわかってきた。
Ten years ago, researchers into formal methods (and I was the most mistaken among them) predicted that the programming world would embrace with gratitude every assistance promised by formalisation to solve the problems of reliability that arise when programs get large and more safety-critical. Programs have now got very large and very critical – well beyond the scale which can be comfortably tackled by formal methods. There have been many problems and failures, but these have nearly always been attributable to inadequate analysis of requirements or inadequate management control. It has turned out that the world just does not suffer significantly from the kind of problem that our research was originally intended to solve.

2009年のカンファレンスでNull参照を発明したことについて謝罪している。[9][10]

それは10億ドルにも相当する私の誤りだ。null参照を発明したのは1965年のことだった。当時、私はオブジェクト指向言語 (ALGOL W) における参照のための包括的型システムを設計していた。目標は、コンパイラでの自動チェックで全ての参照が完全に安全であることを保証することだった。しかし、私は単にそれが容易だというだけで、無効な参照を含める誘惑に抵抗できなかった。これは、後に数え切れない過ち、脆弱性、システムクラッシュを引き起こし、過去40年間で10億ドル相当の苦痛と損害を引き起こしたとみられる。
I call it my billion-dollar mistake. It was the invention of the null reference in 1965. At that time, I was designing the first comprehensive type system for references in an object oriented language (ALGOL W). My goal was to ensure that all use of references should be absolutely safe, with checking performed automatically by the compiler. But I couldn't resist the temptation to put in a null reference, simply because it was so easy to implement. This has led to innumerable errors, vulnerabilities, and system crashes, which have probably caused a billion dollars of pain and damage in the last forty years.

栄誉・受賞歴

[編集]

著作

[編集]
  • Structured Programming. (1972) オーレ=ヨハン・ダールエドガー・ダイクストラ との共著、Academic Press. ISBN 0-12-200550-3. OCLC 23937947
  • Communicating Sequential Processes. (1985) (available online at http://www.usingcsp.com/ in PDF format). Prentice Hall International Series in Computer Science. ISBN 0-13-153271-5 hardback or 0-13-153289-8 paperback
  • Mechanised Reasoning and Hardware Design. (1992) M. J. C. Gordon英語版 との共著、Prentice Hall International Series in Computer Science. ISBN 0-13-572405-8. OCLC 25712842
  • Unifying Theories of Programming. (1998) He Jifeng英語版 との共著、Prentice Hall International Series in Computer Science. ISBN 0-13-458761-8. OCLC 38199961

注釈

[編集]
  1. ^ 厳密にはCSPには2種類あり、こんにちこの専門分野で一般に言われているCSPは、TCSP(Theoretical CSP)などとも言われる、1985年の書籍で形式的な理論が展開されたものを指す。Occamへの影響は、そちらが全てではなく、1978年にACMの学会誌CACMに掲載されたもの(Communications of the ACM 21(8), pp.666-677 (Aug.1978)、タイトルは書籍と同じ「 Communicating Sequential Processes」)からの影響もある。

出典

[編集]
  1. ^ “Birthdays Jan 10”. The Times (London). (10 January 2009). http://www.timesonline.co.uk/tol/life_and_style/court_and_social/article5484753.ece 2010年1月9日閲覧。 
  2. ^ a b C.A.R. Hoare (February 1981). “The emperor's old clothes” (PDF). Communications of the ACM 24 (2): 5–83. doi:10.1145/358549.358561. ISSN 0001-0782. http://portal.acm.org/citation.cfm?id=358561. 
  3. ^ a b c Hoare, Charles Anthony Richard (1980年10月27日). “The Emperor's Old Clothes / The 1980 ACM Turing Award Lecture”. Association for Computing Machinery. 2012年2月3日時点のオリジナルよりアーカイブ。2012年8月16日閲覧。
  4. ^ ACM Turing Award citation.
  5. ^ Knuth, Donald: Structured Programming with Goto Statements. Computing Surveys 6:4 (1974), 261–301.
  6. ^ The Errors of Tex, in Software—Practice & Experience, Volume 19, Issue 7 (July 1989), pp. 607–685, reprinted in his book Literate Programming (p. 276)、『文芸的プログラミング』p. 356
  7. ^ Hoare, a 2004 email.
  8. ^ Hoare, C. A. R. (1996). "Unification of Theories: A Challenge for Computing Science". Selected papers from the 11th Workshop on Specification of Abstract Data Types Joint with the 8th COMPASS Workshop on Recent Trends in Data Type Specification. Springer-Verlag. pp. 49–57. ISBN 3-540-61629-2
  9. ^ Hoare, Tony (2009年3月9日). “Null References: The Billion Dollar Mistake”. 2012年8月16日閲覧。
  10. ^ Hoare, Tony (2009年8月25日). “Null References: The Billion Dollar Mistake”. InfoQ.com. 2012年8月16日閲覧。
  11. ^ Fellows”. Royal Society. 2010年11月20日閲覧。
  12. ^ Honorary Graduates 1989 to present”. bath.ac.uk. University of Bath. 2012年2月18日閲覧。
  13. ^ IEEE John von Neumann Medal Recipients”. IEEE. 2011年2月26日閲覧。
  14. ^ Antony HoareRoyal Society

参考文献

[編集]

外部リンク

[編集]