Devoir de Philosophie

Algol - Définition.

Publié le 18/10/2013

Extrait du document

Algol - Définition. n.m., langage de haut niveau pour la programmation des ordinateurs. Historique et caractéristiques. À l'origine, en 1958, Algol est un langage abstrait conçu pour développer les recherches sur la théorie de la programmation et pour faciliter la communication des algorithmes entre chercheurs, indépendamment des ordinateurs réels. La réunion de Paris en 1960 en fixe les caractéristiques, d'où le nom qui lui a été donné d'Algol 60. Algol est un langage universel destiné à résoudre des problèmes de toute nature. Procédural (ou séquentiel), il est à typage fort : toutes les variables, simples ou de structure complexe, doivent être déclarées explicitement avec leur type. La gestion des variables est presque totalement dynamique dans une structure de blocs généralisée : la portée (l'existence) d'une variable est limitée au bloc où elle est déclarée et aux blocs internes à celui-ci ; les bornes d'un tableau peuvent être les valeurs de variables déclarées dans un bloc externe, mais elles ne peuvent être redéfinies une fois fixées. Le type pointeur permet une gestion de la mémoire très complète. La notion de sous-programme est pratiquement induite par la structure de blocs elle-même, conduisant automatiquement à une programmation structurée. La récursivité est une technique de programmation que le programmeur est conduit à employer naturellement. Le contrôle des conditions et des itérations est particulièrement développé. Associé à la structure de blocs, il permet d'écrire de très longs programmes sans aucune instruction « go-to «, ce qui est un facteur d'efficacité malgré une perte certaine de lisibilité du texte du programme. Peu riche pour le traitement des chaînes de caractères, tandis qu'il supporte de nombreuses fonctions mathématiques, Algol est plutôt un langage à vocation scientifique malgré ses prétentions initiales à l'universalité. Enfin, le langage ne définit pas les entrées/sorties, qui dépendent de l'implantation et, donc, du compilateur utilisé. Cette limitation de généralité est un handicap certain pour la portabilité des applications. La définition du langage au moyen de la notation de Backus explique l'intérêt théorique d'Algol, notamment du point de vue de la complétude et de la cohérence. La seconde version, définie en 1968, est une généralisation d'Algol 60. Entièrement dynamique, doté de fonctionnalités extrêmement puissantes, comme la possibilité de définir de nouveaux opérateurs, Algol 68 permet à l'informaticien de construire son propre langage, adapté à ses propres besoins et portable d'une machine à l'autre, dans le cas où le compilateur d'Algol 68 est lui-même portable. Industrialisation. Algol 60, malgré son importance, est resté limité au monde universitaire de l'informatique théorique, où il a joué le rôle de langage de référence pour la formation des étudiants, notamment en ce qui concerne l'apprentissage de la compilation. Il n'a jamais réellement pénétré l'informatique de gestion ; peu d'applications industrielles, scientifiques ou militaires d'envergure ont été écrites en Algol 60. Très européen, ce langage n'eut guère de succès aux États-Unis, où seul le constructeur Burroughs l'a proposé sans discontinuer à ses clients et en a assuré la maintenance. Quant à Algol 68, fort peu de compilateurs furent développés jusqu'au niveau opératoire. Rares sont les informaticiens qui peuvent se vanter d'avoir écrit et fait tourner un programme en Algol 68, sans doute parce que les techniques de compilation de l'époque n'étaient pas au niveau du langage lui-même et que les ordinateurs n'étaient pas assez puissants pour exploiter toutes les possibilités d'un langage aussi riche. Aujourd'hui, Algol a pratiquement disparu des catalogues des éditeurs de logiciels, mais ses successeurs directs, Pascal pour Algol 60 et Ada pour Algol 68, connaissent un développement qui n'est pas prêt de se ralentir.

Liens utiles