Christopher Strachey
Christopher Strachey (né le , décédé le d'une hépatite[1]) est un informaticien britannique. Il est surtout connu comme l'un des premiers à avoir prôné une approche mathématique dans l'étude des programmes.
Naissance | |
---|---|
Décès | |
Nationalité | |
Formation | |
Activités | |
Père | |
Mère | |
Fratrie |
Barbara Strachey (en) |
A travaillé pour | |
---|---|
Mouvement | |
Distinction |
Biographie
modifierIl est le fils du cryptographe Oliver Strachey et de l'écrivaine Ray Strachey. Il a fait ses études à la Gresham's School et à l'Université de Cambridge.
En 1951, il rejoint le laboratoire informatique où travaille Alan Turing sur l'un des tout premiers ordinateurs conçus et mis en service au Royaume-Uni. Les compétences de Strachey sont si élevées que Turing lui remet de facto la supervision des programmes de recherche informatique[2].
Pour démontrer l'approche mathématique de la programmation, Strachey a introduit l'idée de sémantique dénotationnelle (d'abord appelée mathématique) dont l'objectif est de fournir des méthodes permettant de démontrer des propriétés des programmes. Il souhaitait par là atteindre la même rigueur que dans les démonstrations mathématiques usuelles, si ce n'est plus[réf. nécessaire]. La sémantique dénotationnelle est définie par récurrence (induction en anglais) sur la structure des programmes.
Strachey accorde peu de place aux considérations de syntaxe, celle-ci étant accessoire en regard de la sémantique dans l'étude des langages de programmation. Il a notamment écrit[3] : « Je considère les problèmes syntaxiques comme essentiellement non pertinents pour les langages de programmation... En gros il me semble correct de penser que la sémantique est là pour ce que nous voulons dire et la syntaxe pour comment nous avons à le dire. »
Ailleurs, cité par Dana S. Scott[4], il écrit : « Les problèmes de syntaxe sont beaucoup plus faciles que ceux de sémantique. Cela a comme conséquence naturelle, mais malheureuse, qu'une grande attention a été donnée aux questions syntaxiques... Rien ne pourrait être plus loin de la vérité que ce que l'incompréhension répandue et permanente de concepts aussi fondamentaux que ceux de noms et de valeurs illustre avec acuité. »
À l'époque, la recherche se focalisait en effet plutôt sur la recherche d'une théorie des langages et son application à la construction des compilateurs ; celle-ci conduisit d'ailleurs à une identification de plus en plus claire des concepts fondamentaux qui aboutit à des outils de méta-compilation comme Lex et Yacc.
Il mettait ainsi en évidence que les deux concepts à la base des outils de traduction des langages (interprètes et compilateurs) sont
- d'une part la syntaxe (facile) pour laquelle il faut des outils puissants,
- mais d'autre part aussi une sémantique (plus difficile, car n'offrant pas d'outils formels) qu'il faut maîtriser. En France, des chercheurs comme Claude Pair et Jacques Arsac s'intéressèrent rapidement au sujet.
C'est grâce à Strachey que la sémantique commença à être vue comme une question autonome et non comme simple appendice de la syntaxe (cette dernière vision était favorisée par le fait que la reconnaissance syntaxique des constantes s'accompagnait en sous-produit de leur traduction d'une part, par l'influence dominante des idées de Noam Chomsky d'autre part).
Selon Strachey, la pratique de la programmation ne devait jamais être déconnectée de l'étude des concepts fondamentaux et vice versa. C'est donc dans la même foulée qu'il a développé des travaux sur la sémantique et la programmation d'un petit système d'exploitation O6 6 (en 1972) en utilisant un langage de programmation universel (pour son temps) appelé CPL puis BCPL, dont se sont inspirés Ken Thompson pour créer le langage B et Dennis Ritchie pour créer le langage C.
En 1951, il crée le premier jeu sur un ordinateur Turing-complet à usage général. Son programme de dames est un programme informatique de jeu de dames qui fonctionne pour la première fois, à une vitesse raisonnable, au cours de l'été 1952 sur l'ordinateur Ferranti Mark I de l'université de Manchester.
Visionnaire, Christopher Strachey posa dès 1959 les jalons et les principes du temps partagé dans un article fondateur « Time Sharing in Large Fast Computers » (« Le temps partagé dans les grands ordinateurs rapides »)[5]. Il écrivit également dans Scientific American[6] et y fut cité dans les années 1970 en tant qu'inspirateur lointain du langage Smalltalk. Il est enfin l'auteur d'un programme « historique » de composition assistée de lettres d'amour sur le Mark 1[7].
Enfin, c'est lui qui proposa pour la première fois en 1967 de distinguer entre eux le polymorphisme où l'on devait expliciter les formes des arguments possibles (ce sera celui de PL/I et d'Algol 68) qu'il nomme polymorphisme ad hoc, et ce qu'il nomme le polymorphisme paramétrique où cette extension serait automatique, qui sera rattachée ensuite par John C. Reynolds et Jean-Yves Girard au lambda-calcul[8] et qui est celle des langages modernes.
Le langage de macro m4 s'inspire des travaux de Christopher Strachey[9][réf. non conforme].
Alan Kay, dans un entretien, indique à quel point le rôle de Strachey fut fondamental[10].
Notes et références
modifier- « Computer Pioneers - Christopher Strachey », sur history.computer.org (consulté le )
- Hodges 2014, p. 599-600.
- Christopher Strachey: Fundamental Concepts in Programming Languages. Higher-Order and Symbolic Computation 13(1/2): 11-49 (2000), réimpression d'un cours donné en 1967.
- Dana S. Scott: Some Reflections on Strachey and His Work. Higher-Order and Symbolic Computation 13(1/2): 103-114 (2000)
- Time Sharing in Large Fast Computers, (Proceedings of the International Conference on Information Processing, Article B.2.19, UNESCO, New York, juin 1959).
- Strachey, C. Systems analysis and programming, Scientific American, 25(3) (1966), p. 112-124
- (en) « Manchester Mark I - Loveletters « Wiz And Chips », sur wordpress.com via Internet Archive (consulté le ).
- « Answers - The Most Trusted Place for Answering Life's Questions », sur Answers (consulté le ).
- (en) « M4 Macroprocessor », sur softpanorama.org via Wikiwix (consulté le ).
- « A Conversation with Alan Kay », sur ic.ac.uk (consulté le ).
Bibliographie
modifier- Andrew Hodges (trad. Nathalie Zimmermann et Sébastien Baert), Alan Turing : Le génie qui a décrypté les codes secrets nazis et inventé l'ordinateur, Michel Lafon, , 702 p. (ISBN 9782749924335) [détail des éditions]