アントニー・ホーア

チャールズ・アントニー・リチャード・ホーア（Charles Antony Richard Hoare、1934年1月11日 - ）は、イギリスの計算機科学者。通称はトニー・ホーア（Tony Hoare）またはC・A・R・ホーア。 クイックソート（一般的な場合には最も性能の良い実装ができるとされるソートアルゴリズム）の考案でも知られるが、専門的な業績としては、ホーア論理や、並行プロセスを形式記述するCommunicating Sequential Processes（CSP）などがある。CSPはプログラミング言語Occamに示唆を与えた。 イギリス領セイロンのコロンボにてイギリス人の両親の元に生まれた。1956年にオックスフォード大学にて西洋古典学の学士号を取得。 その後オックスフォード大に1年残って大学院相当の統計学を学ぶ。1956年から1958年までイギリス海軍で兵役に就く。そしてソビエト連邦のモスクワ大学にてロシア語を学ぶと同時に、自然言語の機械翻訳について研究を始める。 1960年、エリオット・ブラザーズ社という小さなコンピュータ製造会社にて仕事を始め、ここで ALGOL 60 を実装、各種アルゴリズムの開発に本格的に着手する。1968年にはクィーンズ大学ベルファスト校で計算機科学の教授となり、1977年にはオックスフォードに戻ってコンピューティングの教授となり、クリストファー・ストレイチーの死に伴ってオックスフォード大学コンピューティング研究所（現在の計算機科学科）プログラミング研究部門を指揮するようになった。現在彼は同大学の名誉教授であり、イギリスケンブリッジのマイクロソフト リサーチの主任研究者でもある。 主な研究業績としては、ソートアルゴリズム（クイックソート）、ホーア論理、並行プロセスの相互作用などを形式的に記述し、検証などを行える形式体系（formal system）であるCommunicating Sequential Processes（CSP）、モニタの概念を使った構造化オペレーティングシステム、プログラミング言語の公理的意味論などがある。 英語版ウィキクォートに本記事に関連した引用句集があります。 C. A. R. Hoare 有名な「97%ぐらいの場合、小さな効率については考えるべきではない。早まった最適化は諸悪の根源だ。」という引用句はドナルド・クヌースのものであると考えられる 。クヌース自身はホーアの言葉だと述べているが、ホーア自身はそれを否定している。 また、複雑すぎないソフトウェアシステムを作成する困難さについて次のように述べている。 ソフトウェアを設計するには、2通りの方法がある。1つは、とてもシンプルに設計して、明らかに欠陥がないようにすること。もう1つは、とても複雑に設計して明らかな欠陥がないようにすることだ。前者の方がはるかに困難である。 1995年には独自の考え方を考察している。 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参照を発明したことについて謝罪している。 それは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. 1980年 - "プログラミング言語の定義と設計に対する彼の基礎的な貢献"に対してACMチューリング賞を受賞。同賞は1980年10月27日、テネシー州ナッシュビルで開催されたACM大会にて、同賞の評議会議長であるウォルター・カールソンから授与された。受賞講演の記録は、Communications of the ACM 誌に掲載された。 1981年 - Harry H. Goode Memorial Award (IEEE Computer Society) 1982年 - 王立協会フェロー。 1985年 - ファラデー・メダル 1987年 - 名誉博士号（クイーンズ大学ベルファスト） 1993年 - 名誉博士号（バース大学） 2000年 - ナイトに叙される。 2000年 - 京都賞先端技術部門 2005年 - 英国王立工学アカデミー（英語版）フェロー 2006年 - コンピュータ歴史博物館フェロー 2007年 - 名誉博士号（ギリシャの Athens University of Economics and Business） 2011年 - IEEEフォン・ノイマンメダル 2023年 - ロイヤル・メダル 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