Introduction
Algol est un langage de programmation. Il a été créé à la fin des années 1950. Son nom est l'acronyme d'algorithmic oriented language (avec un clin d'œil à l'étoile β Persei). Son objectif était de décrire algorithmiquement des problèmes de programmation. Les principales différences au niveau de la conception par rapport à Fortran furent l'utilisation de blocs marqués par BEGIN END et surtout la récursivité, concepts qui seront largement repris par ses successeurs.
Le premier rapport décrivant le langage date de 1958 et a donc donné lieu à Algol 58. Il y a eu ensuite 2 autres versions, Algol 60 et Algol 68. On peut citer également Algol W qui est issu d'Algol 60, créé après 1968 en suivant les propositions de Niklaus Wirth qui était dans le groupe de travail sur Algol 68 (lesdites propositions de Wirth ayant été refusées par le groupe de travail définissant Algol 68). Wirth s'inspirera d'Algol W pour créer le langage Pascal. Tandis qu'Algol 60 a été développé conjointement par une équipe comprenant des américains et des européens, Algol 68 a en grande partie été conçu en Europe.
Hormis un succès universitaire certain, Algol ne sera pas beaucoup utilisé dans des programmes commerciaux. Cela est dû en particulier pour l'Algol 60 au manque de fonctions standards d'entrée-sortie, défaut surcorrigé dans Algol 68. Une mauvaise adaptation aux programmes de gestion furent aussi un frein à son développement, toutefois il influença considérablement le développement de nombreux langages de programmation.
Algol 60 a été publié en 1960. John Backus et Peter Naur faisaient partie du comité qui l'a créé. Algol 60 a inspiré beaucoup de langages. Une citation classique à cet égard est attribuée à C. A. R. Hoare: « Algol a été une grande amélioration de ses successeurs ». Ce commentaire est parfois attribué faussement à Edsger Dijkstra connu aussi pour ses commentaires humoristiques.
La suite de cet article est principalement consacrée au langage Algol 60. En effet, sans mention de millésime le terme Algol désigne le langage Algol 60.