Christopher Strachey
(ne le
, decede le
d'une
hepatite
[
1
]
) est un informaticien
britannique
. Il est surtout connu comme l'un des premiers a avoir prone une approche mathematique dans l'etude des programmes.
Il est le fils du cryptographe
Oliver Strachey
et de l'ecrivaine
Ray Strachey
. Il a fait ses etudes a la
Gresham's School
et a l'
Universite de Cambridge
.
En 1951, il rejoint le laboratoire informatique ou travaille
Alan Turing
sur l'un des tout premiers
ordinateurs
concus et mis en service au
Royaume-Uni
. Les competences de Strachey sont si elevees que Turing lui remet
de facto
la supervision des programmes de recherche informatique
[
2
]
.
Pour demontrer l'approche mathematique de la programmation, Strachey a introduit l'idee de
semantique denotationnelle
(d'abord appelee
mathematique
) dont l'objectif est de fournir des methodes permettant de demontrer des proprietes des programmes. Il souhaitait par la atteindre la meme rigueur que dans les demonstrations mathematiques usuelles,
si ce n'est plus
[ref. necessaire]
. La semantique denotationnelle est
definie par recurrence
(
induction
en anglais) sur la structure des programmes.
Strachey accorde peu de place aux considerations de syntaxe, celle-ci etant accessoire en regard de la semantique dans l'etude des langages de programmation. Il a notamment ecrit
[
3
]
:
≪ Je considere les problemes syntaxiques comme essentiellement non pertinents pour les langages de programmation... En gros il me semble correct de penser que la semantique est la pour ce que nous voulons dire et la syntaxe pour comment nous avons a le dire. ≫
Ailleurs, cite par
Dana S. Scott
[
4
]
, il ecrit :
≪ Les problemes de syntaxe sont beaucoup plus faciles que ceux de semantique. Cela a comme consequence naturelle, mais malheureuse, qu'une grande attention a ete donnee aux questions syntaxiques... Rien ne pourrait etre plus loin de la verite que ce que l'incomprehension repandue et permanente de concepts aussi fondamentaux que ceux de noms et de valeurs illustre avec acuite. ≫
A l'epoque, la recherche se focalisait en effet plutot sur la recherche d'une
theorie des langages
et son application a la construction des
compilateurs
; celle-ci conduisit d'ailleurs a une identification de plus en plus claire des concepts fondamentaux qui aboutit a des outils de
meta-compilation
comme
Lex
et
Yacc
.
Il mettait ainsi en evidence que les deux concepts a la base des outils de traduction des langages (
interpretes
et
compilateurs
) sont
- d'une part la syntaxe (facile) pour laquelle il faut des outils puissants,
- mais d'autre part aussi une
semantique
(plus difficile, car n'offrant pas d'outils formels) qu'il faut maitriser. En France, des chercheurs comme
Claude Pair
et
Jacques Arsac
s'interesserent rapidement au sujet.
C'est grace a Strachey que la semantique commenca a etre vue comme une question autonome et non comme simple appendice de la syntaxe (cette derniere vision etait favorisee 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 idees de
Noam Chomsky
d'autre part).
Selon Strachey, la pratique de la programmation ne devait jamais etre deconnectee de l'etude des concepts fondamentaux et vice versa. C'est donc dans la meme foulee qu'il a developpe des travaux sur la semantique et la programmation d'un petit
systeme d'exploitation
O6 6 (en 1972) en utilisant un
langage de programmation
universel (pour son temps) appele
CPL
puis
BCPL
, dont se sont inspires
Ken Thompson
pour creer le langage
B
et
Dennis Ritchie
pour creer le langage
C
.
En 1951, il cree le premier jeu sur un ordinateur
Turing-complet
a usage general. Son
programme de dames
est un
programme informatique
de
jeu de dames
qui fonctionne pour la premiere fois, a une vitesse raisonnable, au cours de l'ete 1952 sur l'ordinateur
Ferranti Mark I
de l'
universite de Manchester
.
Visionnaire, Christopher Strachey posa des 1959 les jalons et les principes du
temps partage
dans un article fondateur ≪
Time Sharing in Large Fast Computers
≫ (≪ Le temps partage dans les grands ordinateurs rapides ≫)
[
5
]
. Il ecrivit egalement dans
Scientific American
[
6
]
et y fut cite dans les annees 1970 en tant qu'inspirateur lointain du langage
Smalltalk
. Il est enfin l'auteur d'un programme ≪ historique ≫ de composition assistee de lettres d'amour sur le Mark 1
[
7
]
.
Enfin, c'est lui qui proposa pour la premiere fois en 1967 de distinguer entre eux le
polymorphisme
ou 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 parametrique ou cette extension serait automatique, qui sera rattachee 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
]
[ref. non conforme]
.
Alan Kay
, dans un entretien, indique a quel point le role de Strachey fut fondamental
[
10
]
.
- ↑
≪
Computer Pioneers - Christopher Strachey
≫, sur
history.computer.org
(consulte le
)
- ↑
Hodges 2014
,
p.
599-600.
- ↑
Christopher Strachey: Fundamental Concepts in Programming Languages. Higher-Order and Symbolic Computation 13(1/2): 11-49 (2000), reimpression d'un cours donne 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
(consulte le
)
.
- ↑
≪
Answers - The Most Trusted Place for Answering Life's Questions
≫, sur
Answers
(consulte le
)
.
- ↑
(en)
≪
M4 Macroprocessor
≫, sur
softpanorama.org via
Wikiwix
(consulte le
)
.
- ↑
≪
A Conversation with Alan Kay
≫, sur
ic.ac.uk
(consulte le
)
.