IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)

Vous êtes nouveau sur Developpez.com ? Créez votre compte ou connectez-vous afin de pouvoir participer !

Vous devez avoir un compte Developpez.com et être connecté pour pouvoir participer aux discussions.

Vous n'avez pas encore de compte Developpez.com ? Créez-en un en quelques instants, c'est entièrement gratuit !

Si vous disposez déjà d'un compte et qu'il est bien activé, connectez-vous à l'aide du formulaire ci-dessous.

Identifiez-vous
Identifiant
Mot de passe
Mot de passe oublié ?
Créer un compte

L'inscription est gratuite et ne vous prendra que quelques instants !

Je m'inscris !

GCC 15 arrive : COBOL et Itanium sont intégrés, tandis qu'ALGOL-68 est jugé inadapté à l'ère moderne,
Les langages modernes doivent allier solidité technique et réponse aux besoins concrets

Le , par Bruno

5PARTAGES

3  0 
GCC 15 arrive : COBOL et Itanium sont intégrés, tandis qu'ALGOL-68 est jugé inadapté à l'ère moderne,
les langages modernes doivent allier solidité technique et réponse aux besoins concrets

La version 15 de la GNU Compiler Collection est sur le point d'être publiée, et à mesure qu'elle l'est, certains changements ne le seront pas. Le comité de pilotage décide de ne pas fusionner ALGOL-68, trop complexe et mal-aimé, « à ce stade ». Cette décision soulève des questions sur la place des langages historiques dans un écosystème moderne dominé par des langages plus pragmatiques et largement adoptés. ALGOL-68, bien que considéré comme un langage innovant et influent dans l'histoire de l'informatique, est souvent perçu comme trop complexe et peu pratique pour une utilisation contemporaine. Cette exclusion contraste fortement avec l'inclusion de COBOL, un langage certes ancien, mais encore largement utilisé dans des secteurs critiques comme la finance et l'administration.

Le dernier rapport d'état n'est pas très informatif, mais indique qu'il est « ouvert pour les corrections de régression et de documentation uniquement ». Le rapport indique qu'il ne reste que 17 bogues de priorité 1. La branche de développement de GCC, destinée à devenir GCC 15, est actuellement en phase 4, une étape réservée aux corrections de régression et de documentation. Cela fait maintenant six semaines que nous sommes dans cette phase, et nous avançons progressivement vers la finalisation de la version.


Outre la résolution des bogues de priorité 1 (P1) restants, il est crucial de surveiller attentivement l'état de la suite de tests pour chaque cible. Idéalement, aucun nouvel échec ne devrait apparaître par rapport aux résultats observés sur la branche GCC 14. Pour les échecs qui surviendraient malgré tout, il est essentiel qu'ils soient documentés et suivis via des tickets sur Bugzilla.

Les analyses mettent en lumière les divergences d'opinions sur ALGOL-68. Certains le décrivent comme un langage « propre » et rigoureux, ayant influencé des langages modernes comme Ada et PL/SQL, tandis que d'autres soulignent sa complexité et son manque d'adoption pratique. Par exemple, un développeur mentionne avoir écrit un compilateur ALGOL-68 et apprécie sa rigueur typographique, mais reconnaît que sa syntaxe à deux niveaux peut être difficile à appréhender. D'autres évoquent son échec à s'imposer face à des langages plus simples et plus pragmatiques comme ALGOL-60, qui a servi de base à de nombreux langages ultérieurs.

En revanche, COBOL, malgré son âge et sa réputation d'être « dépassé », reste un pilier dans de nombreux systèmes hérités. Son intégration dans GCC 15, avec un nouveau compilateur natif (gCobol), témoigne de sa persistance dans l'industrie. Cela souligne une différence fondamentale entre les deux langages : COBOL est encore utile, même si son utilisation est souvent perçue comme une nécessité plutôt qu'un choix, tandis qu'ALGOL-68 est principalement étudié pour son importance historique et académique.

FORTRAN vs ALGOL : deux visions de la programmation scientifique

Au début des années 1960, le paysage des langages de programmation se résumait essentiellement à trois acteurs majeurs : COBOL pour les applications commerciales, FORTRAN et ALGOL pour les travaux scientifiques (LISP mérite une mention honorable, mais il est difficile de le qualifier de « majeur » à cette époque). FORTRAN et ALGOL, bien que tous deux destinés aux calculs scientifiques, poursuivaient des objectifs distincts. FORTRAN (pour FORmula TRANslation), développé par IBM, visait à faciliter la programmation sur ordinateurs, tandis qu'ALGOL (ALGOrithmic Language), conçu par une équipe internationale à l'ETH de Zurich, cherchait à exprimer des algorithmes de manière concise et lisible pour les humains.

FORTRAN dominait largement, en partie grâce au soutien d'IBM, mais aussi parce qu'il était perçu comme plus portable. Les concepteurs d'ALGOL, en revanche, avaient choisi de ne pas standardiser les opérations d'entrée-sortie, estimant que les implémenteurs étaient mieux placés pour adapter ces fonctionnalités à leurs plateformes. Cette décision a conduit à des implémentations d'ALGOL avec des fonctions d'entrée-sortie spécifiques et non portables, ce qui a freiné son adoption généralisée. Dans les années 1960, de nouveaux langages ont émergé et les langages existants ont évolué. Le groupe de travail Algol 2.1 de l'IFIP, formé en 1962, avait pour mission de concevoir un successeur à ALGOL 60, baptisé ALGOL X.

De nombreuses idées ont été explorées, s'inspirant parfois d'autres langages, mais aucune implémentation complète d'un candidat n'a vu le jour avant que le langage ne soit officiellement adopté. Cette adoption a eu lieu en décembre 1968, lorsque les membres du groupe de travail ont voté pour accepter la spécification du langage, baptisée ALGOL 68, sans avoir vu de prototype fonctionnel au préalable. Cette décision n'a pas fait l'unanimité. Certains membres du comité estimaient que le langage était devenu trop complexe, perdant la simplicité qui avait fait le succès d'ALGOL 60. Leur désaccord a été formalisé dans le Minority Report, où ils affirmaient que ALGOL 68 était un échec.

La rédaction des rapports sur ALGOL 68 mérite une attention particulière. Ces rapports utilisaient une grammaire à deux niveaux : le premier définissait un méta-langage, et le second décrivait ALGOL 68 dans ce méta-langage. Cette approche, connue sous le nom de grammaire Van Wijngaarden (d'après son inventeur, Adriaan van Wijngaarden, qui a également contribué à la conception d'ALGOL 68), a rendu les rapports particulièrement difficiles à comprendre pour les lecteurs non initiés.

COBOL et ALGOL : deux langages historiques, deux réalités opposées

ALGOL 68, un langage de programmation universel dérivé d'ALGOL 60, a été principalement conçu par des Européens. Aujourd'hui, son développement se poursuit dans une branche séparée, hébergée sur Sourceware, mais il ne sera pas intégré à GCC 15. Cette exclusion souligne une différence majeure entre deux langages historiques : COBOL, encore largement utilisé dans des secteurs critiques comme la finance et l'administration (bien que souvent perçu comme un héritage encombrant), et ALGOL, qui a pratiquement disparu de l'usage courant. ALGOL-60 a certes influencé de nombreux langages modernes, mais ALGOL-68, jugé trop complexe, a marqué le déclin de cette famille de langages.

ALGOL-60, dans sa version classique, a connu une adoption massive et a influencé presque tous les langages de programmation impératifs modernes, d'Ada à Zonnon. Cependant, ALGOL-68, conçu par le regretté Adriaan van Wijngaarden, a marqué un tournant. Jugé trop complexe et peu apprécié, il a contribué à éloigner ALGOL de sa position dominante dans le paysage des langages de programmation. Aujourd'hui, ALGOL-68 est davantage étudié pour son importance historique que pour son utilité pratique, contrairement à COBOL, qui persiste malgré les critiques.

En conclusion, l'exclusion d'ALGOL-68 de GCC 15 reflète une réalité pragmatique : dans un monde où l'efficacité et la compatibilité priment, les langages trop complexes ou peu utilisés, même s'ils sont techniquement sophistiqués, ont du mal à trouver leur place. COBOL, en revanche, bien que souvent critiqué, continue de justifier son existence par son utilité dans des systèmes critiques. Cette décision du comité GCC illustre ainsi un équilibre délicat entre innovation technologique et réalité opérationnelle.

L'innovation historique cède la place au pragmatisme

La décision du comité de pilotage de la GNU Compiler Collection (GCC) d'exclure ALGOL-68 de la version 15 de GCC, tout en intégrant COBOL, illustre un dilemme récurrent dans le monde de la programmation : comment concilier l'héritage historique des langages avec les exigences pragmatiques de l'industrie moderne. ALGOL-68, bien qu'innovant et influent dans l'histoire de l'informatique, est souvent perçu comme trop complexe et peu adapté aux besoins actuels. Cette exclusion reflète une réalité implacable : dans un écosystème dominé par des langages plus accessibles et largement adoptés, les langages historiques, même techniquement sophistiqués, peinent à justifier leur utilité pratique.

ALGOL-68, conçu comme un successeur ambitieux d'ALGOL-60, a introduit des concepts avancés pour son époque, tels qu'un système de types strict et une syntaxe à deux niveaux. Cependant, sa complexité et son manque de portabilité ont limité son adoption. Les commentaires soulignent que,...
La fin de cet article est réservée aux abonnés. Soutenez le Club Developpez.com en prenant un abonnement pour que nous puissions continuer à vous proposer des publications.

Une erreur dans cette actualité ? Signalez-nous-la !