アントニー・ホーア
Channel: 宇宙のすべての知識 プリンシピア
Date: 14/12/2021

アントニー・ホーア, by Wikipedia https://ja.wikipedia.org/wiki?curid=12765 / CC BY SA 3.0

#イギリスのプログラミング言語研究者
#チューリング賞受賞者
#京都賞先端技術部門受賞者
#形式手法の人物
#王立協会フェロー
#米国科学アカデミー外国人会員
#コンピュータ歴史博物館フェロー
#ヨーロッパ・アカデミー会員
#クイーンズ大学ベルファストの教員
#マイクロソフトリサーチの人物
チャールズ・アントニー・リチャード・ホーア（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）、モニタの概念を使った構造化オペレーティングシステム、プログラミング言語の公理的意味論などがある。
有名な「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...