« Charles Antony Richard Hoare » : différence entre les versions
m + Écrits |
+ Citations |
||
Ligne 20 : | Ligne 20 : | ||
| notes = |
| notes = |
||
| sig}} |
| sig}} |
||
Sir '''Charles Antony Richard Hoare''' (généralement appelé '''Tony Hoare''' ou '''C. A. R. Hoare'''), né le [[11 janvier]] [[1934]] à [[Colombo]], [[Sri Lanka]], est un [[professeur émérite]] [[Grande-Bretagne|britannique]] du ''[[Université d'Oxford|Oxford University]] Computing Laboratory''. |
Sir '''Charles Antony Richard Hoare''' (généralement appelé '''Tony Hoare''' ou '''C. A. R. Hoare'''), né le [[11 janvier]] [[1934]] à [[Colombo]], maintenant au [[Sri Lanka]], est un [[professeur émérite]] [[Grande-Bretagne|britannique]] du ''[[Université d'Oxford|Oxford University]] Computing Laboratory''. |
||
Il est connu pour avoir inventé [[quicksort]] en [[1960]], un [[algorithme de tri]] rapide, encore très utilisé de nos jours. Hoare est le premier à avoir écrit un compilateur complet pour le langage [[Algol | 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 {{Lien|trad=Concurrency (computer science) | processus concurrents}} (y compris le fameux problème du [[dîner des philosophes]]) et qui a inspiré les [[langages de programmation]] [[Occam (langage)|Occam]] ou [[Ada (langage)|Ada]] ainsi que le concept de [[Moniteur (informatique)|moniteur]]. |
Il est connu pour avoir inventé [[quicksort]] en [[1960]], un [[algorithme de tri]] rapide, encore très utilisé de nos jours. Hoare est le premier à avoir écrit un compilateur complet pour le langage [[Algol | 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 {{Lien|trad=Concurrency (computer science) | processus concurrents}} (y compris le fameux problème du [[dîner des philosophes]]) et qui a inspiré les [[langages de programmation]] [[Occam (langage)|Occam]] ou [[Ada (langage)|Ada]] ainsi que le concept de [[Moniteur (informatique)|moniteur]]. |
||
Ligne 95 : | Ligne 95 : | ||
}} |
}} |
||
== |
== Citations == |
||
Lors d'une conférence en 2009, Hoare s'excuse d'avoir inventé le [[Pointeur (programmation)|pointeur]] [[NULL]] :<ref><!-- Modèle:Lien web -->{{cite web |
|||
<references /> |
|||
|url=http://qconlondon.com/london-2009/presentation/Null+References:+The+Billion+Dollar+Mistake |
|||
|title=Null References: The Billion Dollar Mistake |first=Tony |last=Hoare |
|||
|location=QCon London |date=2009-03-09}}</ref>{{,}}<ref><!-- Modèle:Lien web -->{{cite web |
|||
|url=http://www.infoq.com/presentations/Null-References-The-Billion-Dollar-Mistake-Tony-Hoare |
|||
|title=Null References: The Billion Dollar Mistake |publisher=InfoQ.com |date=2009-08-25 |
|||
|first=Tony |last=Hoare}}</ref> : {{citation bloc|Je l’appelle mon erreur à un milliard de dollars. Il s'agit de l'invention de la valeur ''null'' pour un pointeur, en 1965. À l'époque, je concevais le premier système de typage complet pour un langage orienté objet (Algol W). MJe voulais m'assurer que tout usage de références était absolument sûr, avec un test effectué automatiquement par le compilateur. Mais 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, de déficiences, de plantages de système, qui ont probablement causés des douleurs et dommages d'un milliard de dollars dans les quarante dernières années}} |
|||
Une autre citation, sur la difficulté de créé des logiciels pas trop complexes : |
|||
{{citation bloc|Il existe deux façon de concevoir un logiciel : une façon est de le faire si simple qu'il n'a visiblement aucun défaut, et une autre est de le faire si complexe qu'il n'y a pas de défaut visible. La première façon est de loin la plus difficile.}} |
|||
Une réflexion, en 1995, sur des opinions précédemment admises<ref>{{chapitre|langue=|prénom1=C. A. R.|nom1=Hoare|lien auteur1=|titre chapitre=Unification of Theories: A Challenge for Computing Science |auteurs ouvrage=Magne Haveraaen, Olaf Owe, Ole-Johan Dahl (éditeurs) |titre ouvrage=Recent Trends in Data Type Specification : Selected papers|lieu=|éditeur=Springer|isbn=3-540-61629-2|collection= |
|||
Lecture notes in computer science|numéro dans collection= 1130 |année=1996|mois=|jour=|passage=49-57|lire en ligne=|consulté le=}}</ref> : |
|||
{{citation bloc| Il y a dix ans, les chercheurs en méthodes formelles prédisaient (et j'étais parmi ceux qui se trompaient le plus) que le monde de la programmation adopterait avec gratitude toute l'aide promise par une formalisation qui résoudrait les problèmes de fiabilité qui surgissent quand les programmes deviennent plus long et plus sensibles aux erreurs. Maintenant, les programmes sont devenus très longs eet très sensibles - bien plus grand que ce qui peut être aisément traité par les méthodes formelles. Ils ont présenté de nombreux problèmes et checs, mais ceux-ci ont presque toujours été attribués à une analyse inadéquate des besoins ou un contrôle de gestion in approproprié. Il est apparu que le monde ne souffre pas de manière significative des problèmes que notre recherche avait l’intention de résoudre.}} |
|||
La célèbre citation : |
|||
{{citation bloc|On devrait repousser les petites améliorations de l'efficacité dans environ 97% des cas, car une optimisation prématurée est la racine de tout le mal}} |
|||
est en fait due à [[Donald Knuth]]<ref>{{article|auteur=Donald Knuth|titre=Structured Programming with Goto Statements|journal=[[ACM Computing Surveys]]|année=1974|volume=6|numéro=4|pages=261-301|url=http://pplab.snu.ac.kr/courses/adv_pl05/papers/p261-knuth.pdf}}.</ref> et a été attribuée par erreur à Hoare par Knuth lui-même<ref>{{article |auteur=Donald Knuth|titre=The Errors of Tex|journal=Software—Practice & Experience|année=1989|volume=19|numéro=7|pages=607–685}} (réimprimé dans ''Literate Programming'', page 276).</ref>, alors que Hoare en refuse la paternité<ref>{{Lien web |langue=|coauteurs=|titre=Premature optimization is the root of all evil : Hoare, a 2004 email |url= http://hans.gerwitz.com/2004/08/12/premature-optimization-is-the-root-of-all-evil.html |série= |jour=12 |mois=août |année=2004 |site=hans.gerwitz.com |éditeur= |isbn= |page= |citation= |en ligne le= |consulté le= 10 novembre 2013 |id= }}.</ref>. |
|||
== Notes == |
|||
{{Références|colonnes=2}} |
|||
{{Autres projets|commons=Category:C. A. R. Hoare}} |
|||
== Liens externes == |
== Liens externes == |
||
{{Autorité|BNF=|SUDOC=059577576 |VIAF=108123782 |LCCN=n/84/148204}} |
|||
⚫ | |||
* {{DBLP |prénom=C. A. R. |nom=Hoare |initiale=H|prénom encodé=C=_A=_R=}} |
|||
* [http://www.informatik.uni-trier.de/~ley/db/indices/a-tree/h/Hoare:C=_A=_R=.html Publications] de '''C. A. R. Hoare''' sur DBLP |
|||
⚫ | |||
* {{lien brisé|consulté le=2013-11-09|url=http://en.scientificcommons.org/c_a_r_hoare|titre=Publications}} de '''C. A. R. Hoare''' sur Scientific Commons |
|||
{{Palette|Lauréats du prix Turing}} |
{{Palette|Lauréats du prix Turing}} |
Version du 10 novembre 2013 à 09:22
Nationalité | britannique |
---|---|
Résidence | Cambridge |
Domaines | Informatique |
---|---|
Institutions |
Elliot Brothers (en) université Queen's de Belfast université d'Oxford université d'État de Moscou Microsoft Research |
É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 |
Sir Charles Antony Richard Hoare (généralement appelé Tony Hoare ou C. A. R. Hoare), né le 11 janvier 1934 à Colombo, maintenant au Sri Lanka, est un professeur émérite britannique du Oxford University Computing Laboratory.
Il est connu pour avoir inventé quicksort en 1960, un algorithme de tri rapide, encore très utilisé de nos jours. 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 (en) (y compris le fameux 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, maintenant Sri Lanka, fils d'un couple britannique. En 1956, il termine des études de lettres (Classics) à 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 assistée par ordinateur du langage humain, à l'université Lomonossov, l'université d'État de Moscou, dans l'école de Andreï Kolmogorov. En 1960 il quitte l'Union Soviétique, et débute son premier travail, chez un petit fabricant anglais d'ordinateur, Elliot Brothers (en); il consiste en l’implémentation du langage Algol 60. 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 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 moins connu 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'ordinateur]s 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 27 octobre 1980, 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 de la IEEE Computer Society
- 1982 Fellow de la Royal Society
- 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) in Mountain View (Californie) « 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 Pôle Langage de programmation de l'ACM (2011)[3]
- 2012 Médaille John von Neumann de l'IEEE[4]
- Doctorat honoris causa
- 1987 Doctorat honoraire en sciences de l'université Queen's de Belfast
- 1993 Doctorat honoraire en sciences de l'université de Bath[5]
- 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[6]
- 2013 Doctorat honoris causa de l'université complutense de Madrid[7]
É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, « 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
- (en) Ole-Johan Dahl, Edsger Dijkstra et C. A. R. Hoare, Structured Programming, Academic Press, (ISBN 0-12-200550-3, OCLC 23937947)
- (en) C. A. R. Hoare, Communicating sequential processes, Prentice Hall International Series in Computer Science, (ISBN 0-13-153271-5 hardback or ISBN 0-13-153289-8 paperback[à vérifier : ISBN invalide], lire en ligne)
- (en) 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)
- (en) 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)
Citations
Lors d'une conférence en 2009, Hoare s'excuse d'avoir inventé le pointeur NULL :[8],[9] :
« Je l’appelle mon erreur à un milliard de dollars. Il s'agit de l'invention de la valeur null pour un pointeur, en 1965. À l'époque, je concevais le premier système de typage complet pour un langage orienté objet (Algol W). MJe voulais m'assurer que tout usage de références était absolument sûr, avec un test effectué automatiquement par le compilateur. Mais 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, de déficiences, de plantages de système, qui ont probablement causés des douleurs et dommages d'un milliard de dollars dans les quarante dernières années »
Une autre citation, sur la difficulté de créé des logiciels pas trop complexes :
« Il existe deux façon de concevoir un logiciel : une façon est de le faire si simple qu'il n'a visiblement aucun défaut, et une autre est de le faire si complexe qu'il n'y a pas de défaut visible. La première façon est de loin la plus difficile. »
Une réflexion, en 1995, sur des opinions précédemment admises[10] :
« Il y a dix ans, les chercheurs en méthodes formelles prédisaient (et j'étais parmi ceux qui se trompaient le plus) que le monde de la programmation adopterait avec gratitude toute l'aide promise par une formalisation qui résoudrait les problèmes de fiabilité qui surgissent quand les programmes deviennent plus long et plus sensibles aux erreurs. Maintenant, les programmes sont devenus très longs eet très sensibles - bien plus grand que ce qui peut être aisément traité par les méthodes formelles. Ils ont présenté de nombreux problèmes et checs, mais ceux-ci ont presque toujours été attribués à une analyse inadéquate des besoins ou un contrôle de gestion in approproprié. Il est apparu que le monde ne souffre pas de manière significative des problèmes que notre recherche avait l’intention de résoudre. »
La célèbre citation :
« On devrait repousser les petites améliorations de l'efficacité dans environ 97% des cas, car une optimisation prématurée est la racine de tout le mal »
est en fait due à Donald Knuth[11] et a été attribuée par erreur à Hoare par Knuth lui-même[12], alors que Hoare en refuse la paternité[13].
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.
- « Programming Languages Achievement Award 2011 », ACM
- « IEEE John von Neumann Medal Recipients », IEEE
- « Honorary Graduates 1989 to present », bath.ac.uk, University of Bath (consulté le )
- (pl) Diks, Krzysztof, « Profesor Hoare doktorem honoris causa Uniwersytetu Warszawskiego », University of Warsaw, (consulté le )
- (es) « Los informáticos Tony Hoare y Mateo Valero serán investidos hoy doctores honoris causa por la Complutense », (consulté le )
- Tony Hoare, « Null References: The Billion Dollar Mistake », QCon London,
- Tony Hoare, « Null References: The Billion Dollar Mistake », InfoQ.com,
- 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
- Donald Knuth, « Structured Programming with Goto Statements », ACM Computing Surveys, vol. 6, no 4, , p. 261-301 (lire en ligne).
- Donald Knuth, « The Errors of Tex », Software—Practice & Experience, vol. 19, no 7, , p. 607–685 (réimprimé dans Literate Programming, page 276).
- « Premature optimization is the root of all evil : Hoare, a 2004 email », sur hans.gerwitz.com, (consulté le ).
Liens externes
- Modèle:DBLP
- Page personnelle de Hoare sur le site de Microsoft
- Naissance en 1934
- Naissance à Colombo
- Scientifique anglais
- Personnalité britannique en informatique
- Personnalité en informatique théorique
- Personnalité de Microsoft
- Personnalité en méthodes formelles
- Étudiant de Merton College
- Étudiant de l'université d'État de Moscou
- Professeur à l'université Queen's de Belfast
- Membre de la Royal Society
- Knight Bachelor
- Lauréat du Prix de Kyoto
- Lauréat du prix Turing