COBOL : l’étonnante jeunesse, avec SQL et Java
10 La Lettre d’ADELI n°92 – Été 2013
Le coût de l’heure de machine commençant à
baisser relativement par rapport à celui des heures
d’ingénieurs développeurs et aux coûts de
maintenance des applications, on souhaita confier
donc à la machine l’effort de traduction des
instructions d’un langage plus proche de l’homme
en code assembleur puis en code directement
exécutable par la machine.
Le principal atout de COBOL était, outre la
puissance grandissante de ses instructions, plus
proches de l’homme par rapport à l’assembleur,
l’aisance de son auto-documentation et la clarté de
sa structure, certes contraignante au départ, mais
obligeant à déclarer toutes les données et leur
structure hiérarchique, dans des sections dédiées,
avant-même leur utilisation par la procédure.
On peut dire que ce sont ces qualités mêmes
d’exigence théorique de maintenabilité qui l’ont
souvent fait détester par les amoureux de la
virtuosité informatique et du bidouillage astucieux et
libre. Ces derniers ont donc préféré des langages
mieux adaptés à leurs désirs.
Les renouvellements
incorporés aux langages
Grâce à ses promoteurs internationaux et à leur
union, COBOL a su se renouveler au travers de six
standards successifs validés par l’ANSI (American
National Standards Institute), intégrant, même avec
retard, les éléments de l’état de l’art en matière
technologique et des langages de programmation.
COBOL-60, le premier d’entre eux, définit un
langage intelligible par l’homme, simple à
comprendre et à documenter, pouvant appeler
des sous-programmes tant écrits en COBOL
qu’en assembleurs ou en d’autres langages, et
spécialisé dans la manipulation simple de
nombreux fichiers et structures de données
complexes ;
COBOL-68 incorpore la gestion automatisée
des tables et tris automatisés, la segmentation
possible des programmes pour leur gain de
place en mémoire, les différents modes d’accès
directs aux fichiers, les facilités de
programmation d’éditions automatisées ;
COBOL-74 poursuit les améliorations et corrige
des défauts du langage qui compliquaient sa
maintenance. Comme il a intégré de façon
modulaire (par les instructions EXEC et END-
EXEC), la gestion des différents moniteurs
interactifs de transactions et des différentes
bases de données du marché, il intégrera plus
tard de la même façon le nouveau langage
SQL d’accès aux bases de données
relationnelles qui l’enrichira ainsi ;
COBOL-85 adopte la programmation structurée
comme mode de programmation possible, avec
les séquences répétitives et alternatives et
leurs bannières de fin de séquences intégrées
au langage (END-IF, END-PERFORM, END-
READ), le transformant en langage
algorithmique, assouplissant sa structure et sa
syntaxe et l’affranchissant des anciennes
colonnes figées et des points à chaque
instruction ;
En 1989, le langage intègre les fonctions
intrinsèques, mathématiques, de chaînes de
caractères ou autres, sans besoin de recours à
des sous-programmes externes écrits en
Fortran ou en C, par exemple,
COBOL-2002 (COBOL Objet) adopte et
incorpore la programmation objet, avec tous
ses mécanismes d’héritage, l’ouverture au
standard XML de définition des données, la
gestion des pointeurs, des booléens, des bits
ainsi que le support de toutes les langues
nationales et leur alphabet au moyen
d’Unicode…
À côté de ces standards, certains acteurs n’hésitent
pas à créer leurs propres extensions au langage
COBOL, en lui adjoignant des instructions de
programmation des interfaces Web, comme ce fut
le cas, par exemple, de l’éditeur de logiciel Micro
Focus.
Beaucoup de langages prometteurs
L’apparition de nombreux nouveaux langages
scientifiquement « géniaux » n’a pas manqué de
voir le jour depuis la création de COBOL.
On peut citer parmi ceux-ci Algol, Pascal et ADA,
lesquels, pour la déception de beaucoup, ne
reçurent pas le plein succès que méritaient leurs
très grandes qualités.
À côté de nombreux langages propriétaires plus ou
moins liés à un constructeur, d’autres langages
universels, plus proche du système, apparurent,
tels C, C+, C++, qui permirent, avec les systèmes
d’exploitation universels Unix et Linux, de concevoir
des systèmes et applications portables
indépendants de la machine.
De nombreux autres langages plus spécialisés, tels
HTML, PHP, Python et Javascript remplirent
parfaitement et efficacement la tâche à laquelle ils
étaient dédiés.
Cependant, parmi les autres langages que COBOL
ayant réussi à s’imposer universellement au milieu
des années 2010, il semble qu’il y a surtout le SQL,
pour la gestion des Bases de Données
Relationnelles, et Java pour l’écriture des interfaces
homme-machines et l’adaptation à la technologie
Web, pour régner en maîtres incontestés sur toutes
les plates-formes.