COBOL - Définition et Explications

Source: Wikipédia sous licence CC-BY-SA 3.0.
La liste des auteurs de cet article est disponible ici.

Introduction

COBOL est un langage de programmation de troisième génération créé en 1959 (officiellement le 18 Septembre 1959). Son nom est l'acronyme de COmmon Business Oriented Language qui révèle sa vocation originelle : être un langage commun pour la programmation (La programmation dans le domaine informatique est l'ensemble des activités qui permettent...) d'applications de gestion. Le langage COBOL (COBOL est un langage de programmation de troisième génération créé en 1959...) était de loin le langage le plus employé des années 1960 à 1980, et reste très utilisé dans des grandes entreprises, notamment dans les institutions financières qui disposent (et développent encore) de nombreux logiciels et applications en COBOL.

Histoire et spécifications

Le COBOL a initialement été créé en 1959 par le Short Range Committee, un des trois comités proposés à une rencontre au Pentagone en mai 1959 organisée par Charles Phillips du département de la défense des États-Unis. Le comité a été formé pour recommander une approche à court terme pour un langage commun, indépendant des constructeurs, pour les applications de gestion de l'administration américaine. Il était constitué de membres représentant six constructeurs d'ordinateurs et trois agences gouvernementales. Les six constructeurs informatiques étaient Burroughs Corporation, IBM (International Business Machines Corporation (IBM) est une société multinationale américaine...), Minneapolis-Honeywell, RCA, Sperry Rand, et Sylvania Electric Products. Les trois agences du gouvernement étaient le US Air Force (Le mot force peut désigner un pouvoir mécanique sur les choses, et aussi, métaphoriquement, un...), le David Taylor Model Basin, et l'Institut national des standards. Ce comité était présidé par un membre du NBS. Des comités à moyen et long terme ont également été proposés au Pentagone. En revanche, même si le premier a été fondé, il n'a jamais été opérationnel, et le dernier n'a jamais été fondé. En fin de compte, un sous-comité du Short Range Committee a été formé avec six membres :

  • William Selden et Gertrude Tierney de IBM ;
  • Howard Bromberg et Howard Discount de RCA ;
  • Vernon Reeves et Jean E. Sammet de Sylvania Electric Products.

Ce sous-comité a terminé les spécifications de COBOL fin 1959. Elles étaient largement inspirées par le langage FLOW-MATIC inventé par Grace Hopper (Grace Murray Hopper (9 décembre 1906 - 1er janvier 1992) est une...), surnommée « la mère du langage COBOL », et par le langage COMTRAN d'IBM, inventé par Bob Bemer (Robert (Bob) Bemer (né le 8 février 1920 à Sault Ste. Marie (Michigan), mort le 22 juin 2004 à...).

Ce langage ayant été conçu aux débuts de l'informatique (L´informatique - contraction d´information et automatique - est le domaine...), sa relative complexité (La complexité est une notion utilisée en philosophie, épistémologie (par...) rebute nombre (La notion de nombre en linguistique est traitée à l’article « Nombre...) de programmeurs de notre époque, ce qui lui a valu deux interprétations ironiques de son acronyme : Complies Only Because Of Luck (fonctionne uniquement par chance) et Completly Obsolete Business Oriented Language (Langage orienté gestion complètement obsolète).

Traits principaux

La totalité des variables et des structures de données (Dans les technologies de l'information (TI), une donnée est une description élémentaire, souvent...) utilisées sont définies au début du programme, avant la division (La division est une loi de composition qui à deux nombres associe le produit du premier par...) procédurale où il y a les instructions. La manière dont sont définies les variables, c'est-à-dire les espaces de stockage temporaire, est très particulière. C'est une structure arborescente définie par une suite de lignes de code. Chaque ligne commence par un nombre qui définit le niveau d'imbrication du champ (Un champ correspond à une notion d'espace défini:) ou du groupe de variables.

Par exemple :

       01 NomPrenom.         05 Prenom PIC X(20).         05 Nom    PIC X(20).      

qui défini une structure NomPrenom contenant les champs Prenom et Nom sur 20 caractères.

Comme défini dans la spécification originale, COBOL possédait déjà les nombreuses fonctionnalités qui ont fait son succès : d'excellentes capacités d'auto-documentation, des méthodes pratiques de gestion des fichiers et des types de données variés, dont le format est précisé par la clause PICTURE. Comme la plupart des autres langages de l'époque, il ne permet pas de définir de variables locales, de fonctions récursives et d'allouer de la mémoire (D'une manière générale, la mémoire est le stockage de l'information. C'est aussi le souvenir...) dynamiquement.

La gestion des décimales en COBOL (nombres en virgule fixe), et la maîtrise (La maîtrise est un grade ou un diplôme universitaire correspondant au grade ou titre de...) des arrondis et des dépassements, permettent d'éviter les nombreux problèmes qui arriveraient en utilisant des nombres à virgule flottante pour les calculs financiers.

Il intégre également un générateur de rapports, défini de la même manière que les autres structures de données. Sont intégrées des fonctions de tri, de fusion (En physique et en métallurgie, la fusion est le passage d'un corps de l'état solide vers l'état...) et de communication (La communication concerne aussi bien l'homme (communication intra-psychique, interpersonnelle,...). Un module optionnel permettait également une forme de communication inter-processus (En informatique, les communications inter processus (Inter-Process Communication ou IPC) regroupent...) par file de messages.

Le parti-pris initial de définir un langage de programmation (Un langage de programmation est un langage informatique, permettant à un être humain...) proche du langage naturel (Un langage naturel est une langue « normale » parlée par un être humain.) (comme pour FLOW-MATIC) devait faciliter, sinon la programmation, du moins l'audit des programmes COBOL par des gestionnaires non-informaticiens. Ce choix a eu pour conséquence une syntaxe complexe (le langage naturel n'est pas simple), avec de nombreux mots réservés, et de nombreuses options (les opérations de gestion ne sont pas simples non plus) qui valent à COBOL une réputation de verbosité, qui n'est pas forcément fondée sur des faits.

Par exemple en Cobol l'instruction (Une instruction est une forme d'information communiquée qui est à la fois une commande et une...)

      ADD montant TO total-jour total-mois total-annee.      

s'exprimerait, en C ou autres langages dérivés, par

      total_jour += montant;      total_mois += montant;      total_annee += montant;      

Comme d'autres langages de l'époque (par exemple Fortran 2), COBOL offrait la possibilité de modifier du code pendant l'exécution à l'aide de la fameuse instruction ALTER X TO PROCEED TO Y (altérer X pour aller vers Y). Cette possibilité dangereuse, qui transposait une technique courante de la programmation en langage machine (Le langage machine est la suite de bits qui est interprétée par le processeur de l'ordinateur...), a été éliminée des spécifications du langage. Rendant possible la modification à la volée de l'exécution d'un programme, cette commande (Commande : terme utilisé dans de nombreux domaines, généralement il désigne un ordre ou un...) permettait d'outrepasser des ordres GO TO, complexifiant ainsi la maintenance.

Les versions successives du standard ont modernisé le langage, par exemple en ajoutant des structures de contrôle (Le mot contrôle peut avoir plusieurs sens. Il peut être employé comme synonyme d'examen, de...) améliorées et le support de la programmation objet (De manière générale, le mot objet (du latin objectum, 1361) désigne une entité définie dans...), tout (Le tout compris comme ensemble de ce qui existe est souvent interprété comme le monde ou...) en préservant au maximum la compatibilité avec les versions précédentes, de façon à éviter d'avoir à modifier l'énorme stock de programmes COBOL en service.

Page générée en 0.207 seconde(s) - site hébergé chez Amen
Ce site fait l'objet d'une déclaration à la CNIL sous le numéro de dossier 1037632
Ce site est édité par Techno-Science.net - A propos - Informations légales
Partenaire: HD-Numérique