Voici de nouveau (et là aussi !) un extrait que je découvre en lisant « EPOCH – Une histoire de l’informatique » de Stéphane Fosse. Même moi, j’apprends beaucoup en lisant cet ouvrage qui représente un travail énorme et soigné !
Cette fois, on se penche sur la saga du langage COBOL, un vétéran injustement sous-estimé mais qui a eu une trajectoire majeure dans notre histoire…
===
En mai 1959, le Pentagone accueille à Washington une réunion qui changera l’informatique d’entreprise pour les décennies à venir. Charles A. Phillips, à la tête du Data Systems Research Staff, rassemble une cinquantaine de personnes : militaires, fonctionnaires, consultants et ingénieurs des plus grands fabricants d’ordinateurs. Chaque fabricant de l’époque a son propre langage, ses propres machines. Un programme écrit pour un IBM ne fonctionne pas sur un UNIVAC. Comment mutualiser les efforts dans un secteur où les applications administratives commencent à proliférer ?
De cette rencontre naît le CODASYL, un comité chargé de réfléchir aux langages informatiques. Un groupe plus restreint, le « comité court terme », reçoit la mission d’analyser les points forts et les faiblesses des compilateurs existants, principalement AIMACO (sa variante militaire), FLOW-MATIC (l’œuvre de Grace Hopper chez Remington-Rand), et COMTRAN (un projet d’IBM très théorique).
Personne ne s’attendait à ce que ce comité accouche d’un nouveau langage. Pourtant, en novembre 1959, six personnes s’enferment pendant deux semaines et en sortent avec les spécifications d’un langage qu’ils nomment COBOL : Common Business Oriented Language. Ce document, finalisé en avril 1960, allait bien au-delà d’une simple synthèse des langages existants.

Grace Hopper est celle qui porte l’uniforme (c’est un amiral de la Navy!).
Le choix technique du COBOL reposait sur sa structure en quatre divisions : IDENTIFICATION pour les informations du programme, ENVIRONMENT pour décrire l’environnement d’exécution, DATA pour structurer les données, et PROCEDURE pour les instructions. La syntaxe se rapprochait de phrases en anglais, rendant le code lisible y compris pour des non-spécialistes. Les noms de variables pouvaient compter jusqu’à 30 caractères, une nouveauté qui permettait d’utiliser des noms clairs et compréhensibles plutôt que des abréviations illisibles.
Le moment de vérité survint les 6 et 7 décembre 1960 lors d’une démonstration publique : un même programme COBOL s’exécuta correctement sur deux machines radicalement différentes, un RCA 501 et un UNIVAC II. Pour la première fois, la portabilité du code informatique devenait réalité.

Toujours Grace Hopper…
Les premières années de COBOL furent marquées par plusieurs évolutions : COBOL-61, COBOL-61 Extended, puis COBOL-65. La normalisation ANSI arriva en 1968, suivie par d’autres normes en 1974 et 1985. La compatibilité ascendante, garantissant que les anciens programmes continueraient à fonctionner, est une caractéristique remarquable qui fut maintenue.
Le gouvernement américain avait l’exigence que tout ordinateur vendu ou loué aux administrations devait disposer d’un compilateur COBOL, et ce fut un des facteurs de succès de COBOL. Cette décision força les constructeurs à développer leurs propres compilateurs, propulsant COBOL au rang de standard incontournable dans l’informatique de gestion.
On pourrait questionner la longévité extraordinaire de ce langage né comme une solution temporaire, que plusieurs éléments expliquent. D’abord sa relative simplicité le rendait accessible aux programmeurs non académiques qui formaient le gros des équipes informatiques des entreprises. Sa lisibilité facilitait la maintenance des applications. Son orientation vers le traitement des données administratives correspondait parfaitement aux besoins du secteur tertiaire.
Face au bug de l’an 2000, le monde découvrit avec stupeur l’omniprésence de COBOL dans les rouages de l’économie. Les estimations vertigineuses montrèrent que sur les 300 milliards de lignes de code en production mondiale en 1997, environ 240 milliards étaient écrites en COBOL. Plus de 95% des données financières et d’assurance transitaient par ces programmes.
Contre toute logique apparente, COBOL traversa le cap de l’an 2000 sans perdre son importance. En 1999, plus de 50% des nouvelles applications critiques étaient encore développées dans ce langage, face à l’émergence de Java. Les projections pour 2004-2005 estimaient que 15% des nouvelles applications (5 milliards de lignes) seraient en COBOL, tandis que 80% des applications déployées constitueraient des extensions à des programmes COBOL existants.
Cette résistance inattendue trouve sa source dans les caractéristiques techniques du langage : pas de pointeurs, des types de données élémentaires, une description détaillée des fichiers et des sorties d’impression. Ces limitations, qui pourraient sembler handicapantes pour des applications scientifiques, sont en réalité des atouts pour les applications de gestion en réduisant les risques d’erreurs catastrophiques.
Dans notre monde obsédé par l’innovation perpétuelle, parfois la simplicité et la stabilité l’emportent sur la sophistication. Un langage jugé dépassé par les informaticiens depuis les années 1970 continue de faire tourner les systèmes financiers mondiaux au XXIe siècle, démontrant que l’élégance théorique n’est pas toujours gage de pertinence pratique.
=========
« Dans notre monde obsédé par l’innovation perpétuelle, parfois la simplicité et la stabilité l’emportent sur la sophistication »… Je suis 100% d’accord !