Edsger Wybe Dijkstra (prononciation : Écouter Edsger Dijkstra sur forvo.com.), né à Rotterdam le et mort à Nuenen le , est un mathématicien et informaticien néerlandais du . Il reçoit en 1972 le prix Turing pour ses contributions sur la science et l’art des langages de programmation et au langage Algol. Juste avant sa mort, en 2002, il reçoit le prix PoDC de l'article influent, pour ses travaux sur l'autostabilisation. L'année suivant sa mort, le prix sera renommé en son honneur prix Dijkstra.

Biographie Fils d'un professeur de lycée, Dijkstra avait d'abord envisagé une carrière juridique avant de se tourner vers des études de physique théorique à l'université de Leyde.. Au début des années 1950, les calculateurs électroniques étaient encore une curiosité issue des recherches militaires de la décennie précédente. Par l'intermédiaire de son directeur de thèse Johannes Haantjes, Dijkstra fait la connaissance du directeur du département de mathématiques appliquées de l'université, le Pr. Adriaan van Wijngaarden, qui l'engage dès 1955.

Au Centrum voor Wiskunde d'Amsterdam, il s'intéresse aux travaux de l’électrotechnicien Bram Jan Loopstra (1925 – 1979) et du physicien Carel S. Scholten (1925 – 2009), recrutés pour monter un ordinateur (l'ARMAC). Djikstra convient avec eux qu'ils mettront d'abord par écrit comment la machine exécutera le code, c'est-à-dire qu'ils écriront d'abord le manuel de programmation. Ainsi, tandis que ses deux collègues s'appliquaient à réaliser l'interface de codage, Dijkstra, le programmeur, écrivait déjà des programmes pour une machine encore à venir. Dijkstra retira de cette expérience deux leçons : d'abord l'importance d'une documentation claire, et l'intérêt d'une structure dans les programmes, qui limite l'effort de débogage. L'année même où l'ARMAC était inauguré, Dijkstra découvrait l'algorithme de plus court chemin dans les graphes, qu'il ne publia qu'en 1959.

Au Centre de Mathématiques Appliquées, où il enseignait depuis 58, Dijkstra et son collègue Jaap Zonneveld (1924–2016) écrivirent le premier compilateur du langage ALGOL 60 (août 1960), avec plus d'un an d'avance sur les autres équipes de recherche.

Dijkstra avait une écriture manuscrite très lisible et a toujours refusé d'utiliser un traitement de texte, malgré son domaine d'activité, préférant la lettre manuscrite photocopiée.. Luca Cardelli a créé une fonte « Dijkstra » en son honneur, qui imite son écriture régulière. Dijkstra référençait toutes ses lettres par EWD suivi d'un nombre, la dernière étant la lettre EWD 1318.

Le système d'exploitation THE Enseignant à l'université technique d'Eindhoven, il commence à se faire connaître en matière de systèmes avec THE Operating system, un système construit en couches d'abstraction successives et idéal pour l'enseignement (« THE » est un jeu de mots sur l'acronyme de son université Technische Hogeschool Eindhoven, école polytechnique d'Eindhoven). Fort de l'expérience d'écriture de ce système, il formalise le concept, avant lui diffus, de sémaphore puis introduit le concept de « section critique » avec deux exemples devenus classiques : le problème des lecteurs et des rédacteurs et le dîner des philosophes.

L'instruction GOTO Constatant les dégâts provoqués par l'usage incontrôlé de l'instruction goto en programmation, il rédige en 1968 pour les Communications of the ACM un article qu'il nomme (). Voulant publier rapidement l'article sous la forme d'une lettre à l'éditeur, l'éditeur Niklaus Wirth le rebaptise « Go To Statement Considered Harmful » (« L'Instruction Go To considérée comme nuisible »).

Ce nouveau titre, tout autant que le propos de l'article, devient alors célèbre dans le milieu de l'informatique. Les titres de la forme se multiplient, jusqu'à un Phillip Laplante, Great Papers in Computer Science, West Pub.Co., U.S., , , .

L'instruction goto est rapidement marginalisée, et presque éliminée, par la programmation structurée (concept de Wirth et Dijkstra, présenté entre autres dans EWD 268). En programmation structurée, le goto est remplacé par des instructions comme if … then … else …, while … do, repeat … until qui furent introduites par Wirth dans Algol W : chaque instruction contient une seule entrée et une seule sortie, ce qui rend enfin possible des tests systématiques exhaustifs impossibles avec le « code spaghetti ».

Des conditions peuvent aussi être imposées à l'entrée unique et des caractéristiques postulées à la sortie unique, ce qui ouvre la porte à des outils ajoutés à la syntaxe, comme assert (voir Logique de Hoare) et plus tard à la programmation par contrat du langage Eiffel.

Algorithmique Dijkstra avait joué un rôle important dans le développement du langage Algol à la fin des années 1950 et développé ensuite , contribuant grandement à la compréhension de leur structure, de leur représentation et de leur implémentationcitation de l'ACM, Association for Computer Machinery. C'est aussi un adepte du bel algorithme, y compris pour des sujets difficiles à traiter en programmation structurée comme les perles de Dijkstra (disposer une par une des perles de trois couleurs sur un fil de façon qu'il n'y ait jamais deux séquences adjacentes identiques).

Il est également à l'origine de l'algorithme éponyme, l'algorithme de Dijkstra, permettant de calculer des plus courts chemins dans un graphe orienté. Il permet, par exemple, de déterminer un plus court chemin pour se rendre d'une ville à une autre connaissant le réseau routier d'une région et est très utilisé, par exemple dans les assistants de navigation GPS.

Prix Turing Le discours qu'il prononce en 1972 lorsqu'il reçoit le prix Turing, The Humble ProgrammerEdsger Wybe Dijkstra, intitulé The Humble Programmer, lire en ligne la traduction française, est également resté célèbre. Il s'agit également d'un exercice d'autodérision, le professeur Dijkstra s'étant toujours montré très conscient de la valeur de ses travaux.

En 1974, Dijkstra publie l'article fondateur de l'autostabilisation, propriété d'un système réparti à retrouver un comportement correct après toute défaillance transitoire. En 2002, il reçoit le prix PoDC de l'article influent pour cet article. Il meurt peu après. Ce prix est renommé prix Dijkstra en son honneur dès l'année suivante.

Citations

Dijkstra, connu pour son caractère difficile et son intransigeance, était réputé pour ses aphorismes, lesquels résumaient sa vision de la science informatique.

souvent attribué à Dijkstra, est en fait une phrase de Michael R. Fellows et Ian Parberry dans un article du journal Computing Research NewsInvitation to Computer Science par G. Michael Schneider, Judith L. Gersting,Keith Miller. .

Références

Voir aussi Bibliographie Krzysztof Apt, « Edsger Wybe Dijkstra (1930-2002): A Portrait of a Genius » in Formal Aspects of Computing, 2002

Articles connexes Autostabilisation Algorithme de Dijkstra

Liens externes Edsger W. Dijkstra Archive - manuscripts of Edsger W. Dijkstra

Catégorie:Mathématicien néerlandais du XXe siècle Catégorie:Informaticien néerlandais Catégorie:Personnalité néerlandaise liée à l'informatique Catégorie:Personnalité en théorie des graphes Catégorie:Étudiant de l'université de Leyde Catégorie:Professeur à l'université du Texas à Austin Catégorie:Professeur à l'université de technologie d'Eindhoven Catégorie:Lauréat du prix Turing Catégorie:Lauréat du prix Dijkstra Catégorie:Membre de l'Académie royale néerlandaise des arts et des sciences Catégorie:Membre de l'Académie américaine des arts et des sciences Catégorie:Docteur honoris causa de l'université Queen's de Belfast Catégorie:Naissance en mai 1930 Catégorie:Naissance à Rotterdam Catégorie:Décès en août 2002 Catégorie:Décès dans la province de Brabant-Septentrional Catégorie:Décès à 72 ans Catégorie:Mort d'un cancer aux Pays-Bas Catégorie:Membre de la British Computer Society