Algol (langage)

Page d'aide sur l'homonymie Pour les articles homonymes, voir Algol.
Algol
Date de première version 1958
Paradigme procédural, impératif
Auteur John Backus et Peter Naur
Typage statique, sûr, nominatif
Dialectes Algol 58, Algol 60 et Algol 68
Influencé par Fortran
A influencé Simula, PL/M, Pascal
Implémentations Burroughs Algol sur B5000, Case-ALGOL sur Univac 1107, PDP-1 (1961), Algol 60 AFNOR sur CAE 510 (1964), ALGOL W sur IBM System/370 (1966), S-ALGOL sur PDP-11 (1979)

Algol est un langage de programmation. Il a été créé à la fin des années 1950. Dérivé d'un projet de l' UNESCO d'abord appelé IAL (International Algebraic Language), son nom est l' acronyme d'algorithmic oriented language (avec un clin d'œil à l' étoile β Persei) [réf. nécessaire]. 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, permettant variables locales et tableaux dynamiques, et surtout la récursivité, concepts qui seront largement repris par ses successeurs.

Le langage existe en trois versions : Algol 58, Algol 60 et Algol 68.

Historique

Le premier rapport décrivant le langage date de 1958 et a donc donné lieu à Algol 58. Présentant des ambiguïtés sévères, il fut stabilisé sous le nom d'Algol 60, langage largement adopté dans les Universités, et qui fit faire des progrès importants à la compilation.

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. C. A. R. Hoare a déclaré à son sujet : « Voici un langage très en avance de son temps, il n'a pas seulement été une amélioration de ses prédécesseurs mais aussi une amélioration de presque tous ses successeurs [1] ».

Hormis un succès universitaire certain, Algol 60 sera peu utilisé dans des programmes commerciaux. Cela est dû au manque de fonctions standards d'entrée-sortie (corrigé en 1965 et surcorrigé dans Algol 68), et à une mauvaise adaptation aux programmes de gestion. Au plan scientifique, il était moins efficace que Fortran, tout en permettant des traitements a priori impossibles dans ce langage.

Ses trois principaux descendants sont :

  • Algol 68, conçu au Centre de Mathématiques Appliquées d'Amsterdam, et défini en décembre 1968 ; langage universel basé sur un système de 2 grammaires orthogonales (engendrant une grammaire potentiellement infinie) il permet de construire nouveaux types et nouveaux opérateurs, facilitant une approche très algébrique des applications ; jouant sur la puissance des mécanismes plutôt que sur leur nombre, il a été souvent perçu comme l'antithèse de PL/I ;
  • Algol W, créé peu après selon les propositions plus statiques de Niklaus Wirth, membre du groupe de travail sur Algol 68 dont les propositions avaient été refusées. Wirth s'inspirera d'Algol W pour créer le langage Pascal, puis Modula 2 ;
  • Simula (1967), conçu à Oslo, sur-ensemble d'Algol 60, ancêtre des langages objet (comme C++, Modula 3, Oberon) permettant de définir des classes et des processus facilitant la simulation à événements discrets.

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, tandis que les Algols désigne l'ensemble de la famille.

Other Languages
azərbaycanca: Algol dili
беларуская: Алгол
български: ALGOL
bosanski: ALGOL
català: ALGOL
čeština: ALGOL
dansk: ALGOL
Deutsch: ALGOL
Ελληνικά: ALGOL
English: ALGOL
español: ALGOL
euskara: ALGOL
فارسی: الگول
suomi: ALGOL
Gaeilge: Algol
galego: Algol
עברית: ALGOL
magyar: ALGOL
italiano: ALGOL
日本語: ALGOL
қазақша: Алгол
Bahasa Melayu: ALGOL
Mirandés: ALGOL
norsk nynorsk: ALGOL
polski: ALGOL
português: ALGOL
română: ALGOL
русский: Алгол
srpskohrvatski / српскохрватски: Algol
slovenčina: ALGOL
slovenščina: ALGOL
српски / srpski: Алгол
тоҷикӣ: Алгол
Türkçe: ALGOL
українська: ALGOL
oʻzbekcha/ўзбекча: Algol
Tiếng Việt: ALGOL
中文: ALGOL