← Tous les articles
COBOL

COBOL : comprendre le langage qui fait encore tourner les banques

5 juillet 2026 · par Romain RICHER

COBOL traîne une réputation paradoxale. C’est l’un des plus anciens langages de programmation encore en usage — né en 1959 — et il est régulièrement déclaré « mort ». Pourtant, il fait toujours fonctionner une part considérable des systèmes bancaires, d’assurance et gouvernementaux dans le monde. Comprendre COBOL, c’est comprendre à la fois un pan de l’histoire de l’informatique et une réalité toujours bien vivante des systèmes critiques.

Cet article présente COBOL du point de vue d’un développeur : son histoire, sa structure si particulière, sa syntaxe, ce qui le rend unique, et les raisons de sa remarquable longevité. Il s’adresse à celles et ceux qui veulent réellement comprendre comment ce langage fonctionne et pourquoi il compte encore.

Une brève histoire

COBOL est l’acronyme de COmmon Business Oriented Language — « langage commun orienté gestion ». Ce nom résume sa vocation d’origine : offrir un langage standard, indépendant des constructeurs de matériel, pour les applications de gestion.

Il a été officiellement créé en 1959, aux États-Unis, par un comité (le Short Range Committee) réuni sous l’impulsion du département de la Défense américain. Ses spécifications s’inspirent largement du langage FLOW-MATIC conçu par Grace Hopper, souvent surnommée « la mère du COBOL » pour son rôle pionnier. Dès les années 1960 et jusqu’aux années 1980, COBOL fut de très loin le langage le plus utilisé au monde pour les applications de gestion.

Le langage a été standardisé et révisé à plusieurs reprises par l’ANSI puis l’ISO. La norme la plus récente, ISO/IEC 1989:2023, montre qu’il n’est pas figé : elle ajoute des fonctionnalités modernes comme l’interopérabilité avec JSON et une meilleure prise en charge d’UTF-8.

La philosophie : un langage qui se lit comme de l’anglais

La caractéristique la plus frappante de COBOL est sa verbosité volontaire. Là où d’autres langages privilégient la concision et les symboles, COBOL a été conçu pour se lire presque comme une phrase en anglais. L’idée, révolutionnaire à l’époque, était de rendre le code compréhensible même par des non-informaticiens — notamment les responsables métier.

Concrètement, une addition qui s’écrirait c = a + b dans un langage moderne peut s’exprimer en COBOL par :

ADD A TO B GIVING C.

De même, une comparaison se lit naturellement :

IF SOLDE IS GREATER THAN ZERO
    DISPLAY "Compte créditeur"
END-IF.

Cette clarté a un coût : les programmes sont longs, très structurés, et parfois jugés lourds par les développeurs habitués aux langages concis. Mais elle a un avantage décisif pour des systèmes censés durer des décennies : le code reste lisible et maintenable longtemps après le départ de son auteur.

La structure d’un programme : les quatre divisions

C’est le cœur de la singularité de COBOL. Un programme est organisé en quatre divisions, dans un ordre imposé, chacune avec un rôle précis :

  • IDENTIFICATION DIVISION : les informations générales sur le programme, à commencer par son nom ;
  • ENVIRONMENT DIVISION : la description de l’environnement (matériel, fichiers externes, configuration) dans lequel le programme s’exécute ;
  • DATA DIVISION : la définition de toutes les données — variables, structures, fichiers — que le programme manipule ;
  • PROCEDURE DIVISION : les instructions proprement dites, c’est-à-dire la logique du programme.

Cette séparation stricte entre la déclaration des données (DATA DIVISION) et le traitement (PROCEDURE DIVISION) est une signature de COBOL. Voici un exemple minimal complet :

IDENTIFICATION DIVISION.
PROGRAM-ID. BONJOUR.

DATA DIVISION.
WORKING-STORAGE SECTION.
01 MESSAGE PIC X(20) VALUE "Bonjour le monde".

PROCEDURE DIVISION.
    DISPLAY MESSAGE.
    STOP RUN.

Ce programme déclare une variable MESSAGE puis l’affiche. On y voit déjà plusieurs traits caractéristiques que nous allons détailler.

La description des données : PIC et les niveaux

Dans la DATA DIVISION, chaque donnée est décrite avec une précision inhabituelle. Le mot-clé PIC (pour « PICTURE ») définit le format exact d’une variable : son type et sa taille.

  • PIC X(20) désigne une chaîne de 20 caractères ;
  • PIC 9(5) désigne un nombre entier de 5 chiffres ;
  • PIC 9(5)V99 désigne un nombre avec 5 chiffres avant la virgule et 2 après (le V marque la virgule décimale implicite).

Cette gestion très fine des formats numériques explique en partie pourquoi COBOL excelle dans les calculs financiers : il manipule les nombres décimaux avec une exactitude que beaucoup de langages, qui utilisent des flottants approximatifs, ne garantissent pas nativement.

Autre particularité : les niveaux, ces numéros (01, 05…) qui précèdent les déclarations. Ils permettent de structurer les données de façon hiérarchique. Par exemple, décrire une date composée de trois sous-champs :

01 DATE-COMPLETE.
   05 ANNEE   PIC 9(4).
   05 MOIS    PIC 9(2).
   05 JOUR    PIC 9(2).

Ici, DATE-COMPLETE est un groupe qui contient trois éléments, un peu comme une structure dans d’autres langages.

Les points forts techniques

Au-delà de la syntaxe, COBOL possède des qualités qui expliquent sa domination dans certains domaines.

Le traitement par lots (batch). COBOL a été pensé pour traiter d’énormes volumes de données de façon séquentielle et fiable — typiquement, les traitements nocturnes des banques qui passent des millions d’opérations. Ses structures de fichiers et ses tris intégrés manipulent ces volumes sans faillir.

La précision décimale. Comme évoqué, sa gestion native des décimaux en fait un outil de choix pour la finance, où une erreur d’arrondi n’est pas acceptable.

La fiabilité. Exécuté sur les infrastructures mainframe (les serveurs IBM Z notamment), le code COBOL atteint des niveaux de disponibilité extrêmes. C’est cette stabilité, éprouvée sur des décennies, qui rend les entreprises réticentes à y toucher.

Pourquoi COBOL est-il toujours là ?

C’est la grande question. Un langage de 1959 ne devrait-il pas avoir disparu ? Plusieurs raisons expliquent sa persistance.

Le poids de l’existant. Des décennies de développement ont accumulé une quantité colossale de code en production. Selon des estimations d’IBM, plusieurs centaines de milliards de lignes de COBOL fonctionnent encore dans le monde. Une seule grande banque peut en posséder plusieurs centaines de millions de lignes.

Le coût et le risque d’une réécriture. Réécrire le cœur métier d’une grande institution représente des années de travail, des budgets considérables, et surtout un risque énorme : ce code encapsule des règles métier accumulées et affinées depuis trente ans, parfois sans documentation complète. Beaucoup d’organisations ont tenté la migration totale et ont reculé. La tendance actuelle est plutôt d’encapsuler le code existant (via des API) et de le moderniser par blocs plutôt que de tout réécrire.

Le domaine d’application. Là où COBOL règne — traitement transactionnel massif, calcul financier fiable — il fait toujours très bien son travail. Remplacer quelque chose qui fonctionne parfaitement est difficile à justifier.

Un langage face à son avenir

La principale menace pour COBOL n’est pas technique mais humaine : la pénurie de développeurs. L’âge moyen des « cobolistes » est élevé, et les départs en retraite s’accélèrent sans qu’une relève suffisante se forme, la plupart des jeunes développeurs se tournant vers des technologies plus en vogue. Cette rareté rend paradoxalement la compétence précieuse et recherchée, notamment dans la banque et l’assurance.

En parallèle, la modernisation des systèmes COBOL est devenue un enjeu majeur. De nouveaux outils, y compris des assistants basés sur l’intelligence artificielle, apparaissent pour aider à comprendre, documenter et convertir le code existant vers des langages plus récents. Ces approches visent une modernisation progressive plutôt qu’une réécriture brutale.

En résumé

COBOL est bien plus qu’une curiosité historique :

  • né en 1959, il reste un pilier des systèmes de gestion, de banque et d’assurance ;
  • sa syntaxe verbeuse et lisible, proche de l’anglais, privilégie la maintenabilité sur la concision ;
  • sa structure en quatre divisions et sa description fine des données (PIC, niveaux) sont ses signatures ;
  • il excelle dans le traitement par lots et le calcul financier précis ;
  • il perdure à cause du poids de l’existant, du risque de réécriture, et de sa fiabilité éprouvée.

Pour un développeur d’aujourd’hui, s’intéresser à COBOL n’est ni un exercice de nostalgie ni une impasse : c’est comprendre les fondations invisibles sur lesquelles repose encore une large part de l’économie mondiale. Un langage qu’on croyait dépassé, mais qui continue, chaque jour, de faire tomber les salaires sur les comptes et de traiter les transactions — silencieusement, mais sûrement.

Vous avez déjà croisé du COBOL, ou envisagé de vous y former ? Ce langage discret réserve bien des surprises à qui prend le temps de s’y pencher — à commencer par sa résistance au temps.