Charles Antony Richard Hoare
Charles Antony Richard Hoare (généralement appelé Tony Hoare ou C. A. R. Hoare), né le à Colombo au Ceylan (maintenant Sri Lanka), est un professeur émérite britannique du Oxford University Computing Laboratory.
Naissance |
Colombo (Ceylan, maintenant Sri Lanka) |
---|---|
Nationalité | britannique |
Résidence | Cambridge |
Domaines | informatique |
---|---|
Institutions |
Elliott Brothers Université Queen's de Belfast Université d'Oxford Université d'État de Moscou Microsoft Research |
Diplôme | Université d'Oxford - Université d'État de Moscou |
Étudiants en thèse | Andrew P. Black, Stephen Brookes, Cliff Jones, David Naumann, Bill Roscoe, William Stewart |
Renommé pour |
Quicksort logique de Hoare CSP |
Distinctions |
prix Turing (1980) prix Harry H. Goode Memorial de la IEEE Computer Society (1981) |
Site | www.cs.ox.ac.uk/people/tony.hoare |
Il est connu pour avoir inventé en 1959/1960 l'algorithme de tri rapide encore très utilisé de nos jours quicksort. Hoare est le premier à avoir écrit un compilateur complet pour le langage Algol 60, y compris l'appel de procédures récursives ; il est à l'origine de la logique de Hoare qui sert à la vérification de la correction de programmes et du langage formel Communicating sequential processes (CSP) qui permet de spécifier l'interaction de processus concurrents (y compris le célèbre problème du dîner des philosophes) et qui a inspiré les langages de programmation Occam ou Ada ainsi que le concept de moniteur.
Biographie
Hoare est né à Colombo au Ceylan (maintenant Sri Lanka), fils d'un couple britannique. En 1956, il termine des études de lettres classiques (Classics) au Merton College de l'Université d'Oxford avec un diplôme de bachelor. Il poursuit pendant une année des études de statistiques au niveau gradué à Oxford, puis effectue son service militaire dans la Royal Navy. Ensuite il étudie le russe et la traduction automatique de langues naturelles, à l'Université Lomonossov, l'Université d'État de Moscou, dans l'école de Andreï Kolmogorov. En 1960, il quitte l'Union soviétique, et commence son premier travail, chez un petit fabricant anglais d'ordinateur, Elliott Brothers ; son premier travail est l’implémentation du langage Algol 60 sur les machines de ce constructeur. Il commence également ses premières études d'algorithmes, et publie notamment l'algorithme de tri appelé quicksort[1]. En 1968 il est habilité à l'Université Queen's de Belfast. En 1977, il retourne à Oxford comme professeur d'informatique, et il prend, après la mort de Christopher Strachey, la direction du Programming Research Group du Oxford University Computing Laboratory, ancienne dénomination du département d'informatique de l'Université.
Hoare est professeur émérite de l'Université Oxford, et chercheur principal chez Microsoft Research à Cambridge, en Angleterre.
Ses contributions les plus significatives sont le célèbre algorithme de tri quicksort et l'algorithme de sélection quickselect, la logique de Hoare, le langage formel Communicating Sequential Processes (CSP) utilisé pour spécifier l’interaction entre des processus concurrents, structuration des systèmes d'exploitation d'ordinateurs par l'introduction du concept de moniteur, et la spécification formelle de langages de programmation[2].
Prix et distinctions
- 1980 Prix Turing pour « ses contributions fondamentales à la définition et la conception des langages de programmation ». Le prix lui a été remis lors de la conférence annuelle de l’ACM à Nashville, Tennessee, le , par Walter Carlson, Chairman du comité des prix. Une transcription du discours de Hoare est paru sous le titre The Emperor's Old Clothes[1].
- 1981 : prix Harry H. Goode Memorial Award de la IEEE Computer Society
- 1982 : Fellow de la Royal Society[3].
- 2000 : élevé au rang de Knight Bachelor pour les services rendus à l'éducation à l'informatique
- 2000 : prix de Kyoto pour la science de l'information
- 2005 : Fellow de la Royal Academy of Engineering
- 2006 : Fellow du musée de l'histoire de l'ordinateur (CHM) à Mountain View « pour le développement de l'algorithme de Quicksort et pour l'ensemble de ses contributions à la théorie des langages de programmation »
- 2007 : prix Friedrich L. Bauer
- 2011 : prix des Programming Languages Achievement du SIGPLAN de l'ACM (2011)[4]
- 2012 : médaille John von Neumann de l'IEEE[5]
Doctorats honoris causa
- 1987 : doctorat honoraire en sciences de l'Université Queen's de Belfast
- 1993 : doctorat honoraire en sciences de l'Université de Bath[6]
- 2007 : doctorat honoris causa en science du département d'informatique de l'Université d'économie d'Athènes (AUEB)
- 2012 : doctorat honoris causa de l'université de Varsovie[7]
- 2013 : doctorat honoris causa de l'université complutense de Madrid[8]
Écrits
Articles (sélection)
- C. A. R. Hoare, « Assertions, A Personal Perspective », dans Manfred Broy, Ernst Denert (éditeurs), Software Pioneers – Contributions to Software Engineering, Springer, (ISBN 3-540-43081-4, présentation en ligne)
- C. A. R. Hoare, « Monitors: an operating system structuring concept », Communications of the ACM, vol. 17, no 10, , p. 549-557 (DOI 10.1145/355620.361161)
- C. A. R. Hoare, « An Axiomatic Basis for Computer Programming », Communications of the ACM, vol. 14, no 1, , p. 39–45 (DOI 10.1145/363235.363259)
- C. A. R. Hoare, « Proof of a Program: FIND », Communications of the ACM, vol. 12, no 10, , p. 576–580, 583 (DOI 10.1145/362452.36248)
- C. A. R. Hoare, « Proof of Correctness of Data Representations », Acta Informatica, vol. 1, no 4, , p. 271–28 (DOI 10.1007/BF00289507) (Réimprimé dans le livre Software Pioneers)
- C. A. R. Hoare, « Retrospective: An Axiomatic Basis for Computer Programming », Communications of the ACM, vol. 52, no 10, , p. 30–32 (DOI 10.1145/1562764.1562779)
Livres
Ole-Johan Dahl, Edsger Dijkstra et C. A. R. Hoare, Structured Programming, Academic Press, (ISBN 0-12-200550-3, OCLC 23937947).
- C. A. R. Hoare, Communicating sequential processes, Prentice Hall International Series in Computer Science, (lire en ligne)
hardback (ISBN 0-13-153271-5) ou paperback (ISBN 0-13-153289-8).
- C. A. R. Hoare et Michael J.C. Gordon, Mechanised Reasoning and Hardware Design, Prentice Hall International Series in Computer Science, (ISBN 0-13-572405-8, OCLC 25712842).
- C. A. R. Hoare et He Jifeng, Unifying Theories of Programming, Prentice Hall International Series in Computer Science, (ISBN 0-13-458761-8, OCLC 38199961).
Interviews biographiques
- (en) Jonathan Bowen, « Oral History of Sir Antony Hoare », Musée de l'histoire de l'ordinateur, CHM Reference number: X3698.2007, (consulté le )
- (en) Len Shustek, « An Interview with C.A.R. Hoare », Communications of the ACM, vol. 52, no 3, , p. 38–41 (DOI 10.1145/1467247.1467261)
- (en) Philip Frana, « An Interview with Charles Antony Richard Hoare », Charles Babbage Institute, University of Minnesota, Minneapolis, (consulté le )
Réflexions sur la programmation
Hoare a formulé de nombreuses réflexions sur la programmation et son évolution, dont voici un échantillon :
- Lors d'une conférence en 2009, Hoare « [s]'excuse d'avoir inventé le pointeur NULL[9],[10] » en ces termes : « Je l’appelle mon erreur à un milliard de dollars. En 1965, je concevais le premier système de typage complet pour un langage orienté objet et je n'ai pas pu résister à ajouter la référence nulle, simplement parce que c'était si facile à implémenter. Ceci a conduit à un nombre incalculable d'erreurs, … qui ont probablement causé des dommages d'un milliard de dollars dans les quarante dernières années. »
- Une réflexion, en 1995, sur l'évolution des mentalités face à la programmation[11] : « Il y a dix ans, les chercheurs en méthodes formelles prédisaient que les programmeurs accepteraient les méthodes formelles qui résoudraient les problèmes de fiabilité. Maintenant, les programmes sont devenus très longs et bien trop grands pour être aisément traités par les méthodes formelles. Il est apparu que le monde ne souffre pas trop des problèmes que notre recherche avait l’intention de résoudre. »
- Le conseil sur la programmation : « On devrait refuser les petites améliorations dans environ 97 % des cas, car l'optimisation prématurée est la racine de tout le mal », est en fait due à Donald Knuth[12]. C'est Knuth qui l'a attribuée à Hoare[13] ; ce dernier en refuse la paternité[14].
Notes
- C. A. R. Hoare, « The emperor's old clothes », Communications of the ACM, vol. 24, no 2, , p. 5–83 (DOI 10.1145/358549.358561, lire en ligne [PDF])`.
- Citation sur le site du prix Turing.
- « Fellows de la Royal Society », Royal Society (consulté le )
- « Programming Languages Achievement Award 2011 », ACM
- « IEEE John von Neumann Medal Recipients », IEEE
- « Honorary Graduates 1989 to present », bath.ac.uk, Université de Bath (consulté le )
- (pl) Krzysztof Diks, « Profesor Hoare doktorem honoris causa Uniwersytetu Warszawskiego », Université de Varsovie,
- (es) « Los informáticos Tony Hoare y Mateo Valero serán investidos hoy doctores honoris causa por la Complutense », (consulté le )
- (en) Tony Hoare, « Null References: The Billion Dollar Mistake », QCon London,
- (en) Tony Hoare, « Null References: The Billion Dollar Mistake », InfoQ.com,
- (en) C. A. R. Hoare, « Unification of Theories: A Challenge for Computing Science », dans Magne Haveraaen, Olaf Owe, Ole-Johan Dahl (éditeurs), Recent Trends in Data Type Specification: Selected papers, Springer, coll. « Lecture notes in computer science » (no 1130), (ISBN 3-540-61629-2), p. 49-57
- (en) Donald Knuth, « Structured Programming with Goto Statements », ACM Computing Surveys, vol. 6, no 4, , p. 261-301 (lire en ligne).
- (en) Donald Knuth, « The Errors of Tex », Software—Practice & Experience, vol. 19, no 7, , p. 607–685 (réimprimé dans Literate Programming, page 276).
- (en) « Premature optimization is the root of all evil : Hoare, a 2004 email », sur hans.gerwitz.com, (consulté le ).
Liens externes
- Page personnelle de Hoare sur le site de Microsoft Research
- Ressources relatives à la recherche :
- (en) Digital Bibliography & Library Project
- (en) Mathematics Genealogy Project
- (en-GB + en) Royal Society
- (mul) Scopus
- Notices d'autorité :
- Fichier d’autorité international virtuel
- International Standard Name Identifier
- CiNii
- Système universitaire de documentation
- Bibliothèque du Congrès
- Gemeinsame Normdatei
- Service bibliothécaire national
- Bibliothèque nationale de la Diète
- Bibliothèque royale des Pays-Bas
- Bibliothèque nationale de Pologne
- Bibliothèque nationale de Pologne
- Bibliothèque nationale d’Israël
- Bibliothèque universitaire de Pologne
- Bibliothèque nationale de Suède
- Base de bibliothèque norvégienne
- Bibliothèque universitaire de Zagreb
- Bibliothèque nationale tchèque
- Bibliothèque nationale de Lettonie
- WorldCat
- Portail de l’informatique
- Portail de Microsoft
- Portail de l'informatique théorique