John Backus
John Warner Backus (né à Philadelphie le – mort à Ashland (Oregon) le ) est un informaticien américain. Il est directeur de l’équipe qui pour la première fois crée un langage de programmation de haut niveau, le Fortran, et est le créateur de la forme de Backus-Naur (BNF). Il a aussi mené de nombreuses recherches sur la programmation fonctionnelle, qu'il a contribué à populariser.
Naissance | |
---|---|
Décès | |
Sépulture | |
Nom de naissance |
John Warner Backus |
Nationalité | |
Formation |
The Hill School (en) (jusqu'en ) Université de Virginie (- Université Columbia (maîtrise (en)) (- |
Activités |
A travaillé pour |
IBM (- Armée de terre des États-Unis (- |
---|---|
Membre de | |
Arme | |
Conflit | |
Distinctions |
Prix Turing () Liste détaillée IBM Fellow () W. Wallace McDowell Award (en) () National Medal of Science () Prix Turing () Prix Harold-Pender () IRI Achievement Award () Membre de l'Académie américaine des arts et des sciences () Doctorat honoris causa de l'université Nancy-I () Prix Charles-Stark-Draper () Computer History Museum fellow () Programming Languages Achievement Award () |
Archives conservées par |
Speedcoding (d), Fortran, Forme de Backus-Naur, Functional Programming |
Il reçoit le prix Turing en 1977.
Il prend sa retraite en 1991 et meurt chez lui à Ashland en Oregon le [2].
Vie et carrière
modifierBackus est né à Philadelphie, en Pennsylvanie. Il étudie à The Hill School à Pottstown en Pennsylvanie, mais n’est pas réellement un bon élève[2]. Après son entrée à l’université de Virginie pour étudier la chimie, il est recruté par l’armée américaine[2]. Ses résultats aux tests d'aptitude le dirigent vers une carrière médicale. Il étudie alors la médecine à Harverford, puis travaille à l'hôpital de Atlantic City. Là, on lui diagnostique une tumeur cérébrale, retirée par la suite avec succès. Peu après, il décide de mettre un terme à ses études médicales.
Après son arrivée à New York, il entame une formation de technicien radio. C'est en aidant son professeur à réaliser certains calculs que Backus se découvre un intérêt pour les mathématiques. En 1949, il obtient une maîtrise à l’université Columbia, puis rejoint IBM en 1950. Les trois premières années, il travaille sur le SSEC (Selective Sequence Electronic Calculator). Son premier projet majeur est d’écrire un programme chargé de calculer la trajectoire de la Lune.
En 1953, Backus découvre le IBM 701, le successeur du SSEC. Il est alors confronté au même problème qu'avec le SSEC : réaliser des calculs scientifiques qui nécessitent l'utilisation de nombres en virgule flottante, alors que le IBM 701 ne prend en charge que les entiers arithmétiques. Pour pallier le problème, Backus développe le système Speedcoding, qui permet au programme d'utiliser un système simple de nombres en virgule flottante.
Fortran
modifierEn 1953, il n'existe pas encore de vrai langage de programmation tel qu'on le conçoit au début du XXIe siècle. La plupart des programmes est écrite manuellement en langage machine ou à l'aide d'un assembleur primitif[3]. Bien sûr, il y a le système de Backus, Speedcoding[4], mais l'approche n'est pas la bonne et le résultat est très lent. L'arrivée de l'IBM 704 cette même année va changer la donne. Outre le fait qu'il est plus performant que son prédécesseur, il possède un processeur qui supporte directement les nombres en virgule flottante. Un système tel que Speedcoding devient donc inutile.
Après avoir consacré un an à décrire la syntaxe et le fonctionnement de Fortran, Backus présente le projet à ses supérieurs en novembre 1954, dans le rapport intitulé Specifications for The IBM Mathematical Formula Translating System FORTRAN[5]. Il faut ensuite plus de deux ans à l'équipe de Backus pour développer le compilateur FORTRAN[6], déployé courant avril 1957 sur tous les IBM 704.
Backus Naur Form
modifierÀ la fin des années 1950, il travaille avec le comité international chargé de développer ALGOL 58 et le très influent ALGOL 60, qui devient très rapidement le standard pour la description des algorithmes par les chercheurs en informatique, statut qu'il conservera pendant longtemps.
Au moment de la mise au point d'Algol, Backus travaille sur un nouvel outil permettant d'exprimer une grammaire formelle pour un langage de programmation. Il présente son travail au comité, The syntax and semantics of the proposed international algebraic language of the Zurich ACM-GAMM conference, en . Peter Naur, autre membre du comité, s'intéresse alors au travail de Backus et y apporte quelques modifications. La BNF (pour Backus Naur Form, au lieu de Backus Normal Form) est alors utilisée pour la description de l'ALGOL 60 en 1960.
FP et FL
modifierPlus tard, il travaille sur un langage de programmation purement fonctionnel (« function-level » : au niveau fonctionnel) connu sous le nom de FP. Backus choisit de présenter ce langage durant le discours qu’il doit prononcer lors de la remise du prix Turing.
Ce discours, « Can programming be liberated from the von Neumann style? : a functional style and its algebra of programs » (« La programmation peut-elle échapper au style de von Neumann ? Un style fonctionnel et son algèbre de programmes »), qui présente les avantages de la programmation fonctionnelle, a très largement contribué à relancer l’intérêt pour ce paradigme. Un interpréteur FP est distribué avec la version 4.2 du système d’exploitation BSD Unix mais Backus ne réussira jamais à répandre son langage.
Backus passe le reste de sa carrière à développer FL (de « Function level »), un successeur de FP.
Récompenses et honneurs
modifierIl reçoit le prix Turing en 1977 pour « son influence et sa contribution au développement des langages de programmation de haut niveau, notamment à travers son travail sur FORTRAN, et pour la publication des procédures formelles servant à la spécification des langages de programmation »[7].
Références
modifier- « http://www.computerhistory.org/collections/catalog/102657970 » (consulté le )
- (en) « John W. Backus, 82, Fortran Developer, Dies »
- Cf. Jérôme Feldman et Marcel Berger (dir.), Les progrès des mathématiques, Paris, éditions Belin, coll. « Pour la Science », , 167 p. (ISBN 2-902918-14-3), « Les langages de programmation », p. 102-113
- IBM 701 Speedcoding System, 19 juin 1953.
- Preliminary Report, Specifications for the IBM Mathematical FORmula TRANslating System, FORTRAN [PDF].
- « John Backus », sur IBM Archives (consulté le )
- (en) « ACM Turing Award Citation: John Backus »(Archive.org • Wikiwix • Archive.is • Google • Que faire ?).
- « Small-Body Database Lookup », sur ssd.jpl.nasa.gov (consulté le )
Articles connexes
modifierLiens externes
modifier
- Ressources relatives à la recherche :
- Notices dans des dictionnaires ou encyclopédies généralistes :
- John Backus (Université Columbia, en anglais).
- « Biographie de John Backus »(Archive.org • Wikiwix • Archive.is • Google • Que faire ?)
Bibliographie
modifier- The history of FORTRAN I, II, and III par John Backus dans The first ACM SIGPLAN conference on History of programming languages, Los Angeles, CA, pages: 165 - 180, 1978, (ISSN 0362-1340).
- Can programming be liberated from the von Neumann style?: a functional style and its algebra of programs, par John Backus dans Communications of the ACM, Volume 21, Issue 8 (), pages: 613 - 641, (ISSN 0001-0782) et aussi dans (en) ACM Turing Award lectures : the first twenty years, 1966 to 1985, New York Reading, Mass, ACM Press Addison-Wesley Pub. Co, , 483 p. (ISBN 0-201-07794-9).