Previous Page Next Page

5.4 ALGOL et le concept de blocs

Le concept de bloc ou la structuration en blocs est implémentée dans un grand nombre d'autres langages de programmation évolués tels que par exemple C, Modula-2, Ada etc. Le premier langage dont les programmes étaient composés à l'aide de blocs fut le langage ALGOL - ALGOL 58 dans sa première version. ALGOL était très peu utilisé car il fut mal adapté aux problèmes de gestion. Mais il y avait aussi des raisons politiques pour ne pas l'utiliser: FORTRAN était considéré comme le langage scientifique d'IBM. Or, les collaborateurs du groupe ALGOL ne se laissaient pas décourager et continuaient leur travail. Le résultat de leurs efforts fut une définition améliorée du langage, le célèbre ALGOL 60, fournissant pour plusieurs années un cadre formel aux langages de programmation, notamment grâce à une définition rigoureuse de la syntaxe. Ils employèrent pour cela la forme normale de Backus-Naur (BNF).

ALGOL 60 était très différent de tous les autres langages de programmation et notamment de FORTRAN. La différence principale entre ALGOL et FORTRAN était purement structurelle. Comme la plupart des utilisateurs venaient d'adopter FORTRAN, ils ne voyaient pas pourquoi changer de langage. C'est ainsi que ALGOL 60 n'a connu qu'un succès commercial limité. Ceci ne l'empêcha pas d'avoir une grande influence sur le développement des langages de programmation. La structure de blocs notamment fut très généralement adoptée.

Tout programme ALGOL est composé à l'aide de blocs, suites d'instructions délimitées par les mots réservés BEGIN et END. BEGIN est suivi de la déclaration des objets que le bloc contient, puis de la série des instructions à exécuter. Chaque instruction se termine par un ";". Un bloc ALGOL peut contenir d'autres blocs. Les objets ne sont déclarés qu'à l'intérieur du bloc où ils figurent et leur déclaration n'est valable que dans ce bloc. Ceci permet de mieux utiliser la mémoire en rendant libres, à sa sortie, les emplacements des objets déclarés dans le bloc. Voici un exemple d'un bloc ALGOL permettant d'élever A à la puissance I:

BEGIN
Real A, B;
Integer I;
B := A ­ I;
Write( B );
END;

ALGOL eut également une très grande importance en Europe. Les concepts d'ALGOL 60 continuèrent à être développés principalement par des Européens qui, entre autres, eurent un rôle prééminent dans la définition d'ALGOL 68 ou dans l'orientation des langages de programmation vers les problèmes d'enseignement. Ce premier problème a été l'origine de la conception du langage Pascal qui est un descendant célèbre de ALGOL 58. (MOREAU)

Previous Page Next Page


© Aflo Informatique , 2003-2004