Edsger Wybe Dijkstra (né à Rotterdam le 11 mai 1930, mort à Nuenen le 6 août 2002) est un mathématicien et informaticien néerlandais du XXe siècle.
Après des études de physique théorique, il s'engage dès 1955 dans le domaine de l'informatique alors naissante, dont il est l'un des pionniers les plus éclairés. Parmi ses contributions se trouve un algorithme de calcul du plus court chemin dans les graphes, connu sous le nom d'algorithme de Dijkstra.
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 mot sur l'acronyme de son université Technische Hogeschool Eindhoven, école polytechnique). 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.
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 A case against the GOTO statement (" Un procès contre l'instruction GOTO "). 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 jugée nuisible "). Ce nouveau titre autant que le propos de l'article devient alors célèbre dans le milieu de l'informatique. Les titres de la forme X considered harmful se multiplient, jusqu'à un Dijkstra considered harmful.[1] En outre, l'instruction goto
est effectivement supplantée par la programmation structurée (concept qu'on lui doit et présenté ente autres dans EWD 268). En programmation structurée, le goto est remplacée par des instructions comme if... then ... else ..., while ... do, repeat ... until, chacune contenant une seule entrée et une seule sortie. Des conditions peuvent alors ê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.
Dijkstra joue un rôle important dans le développement du langage Algol à la fin des années 1950 et développe ensuite " la science et l'art des langages de programmation ", contribuant grandement à notre compréhension de leur structure, de leur représentation et de leur implémentation "[2]. C'est aussi un adepte du bel algorithme.
Le discours qu'il prononce en 1972 lorsqu'il reçoit le prix Turing, The Humble Programmer[3], est resté célèbre, lui aussi.
Dijkstra, connu pour son caractère difficile et son intransigeance, était réputé pour ses aphorismes qui résumaient sa vision de la science informatique.