Qu’est-ce que COBOL et pourquoi est-il demandé?
La programmation COBOL, âgée de 60 ans, connaît une résurgence. De nombreux ordinateurs centraux du système gouvernemental exécutent COBOL et ont du mal à faire face à une augmentation de la demande. En particulier, l'état des systèmes de chômage du New Jersey est administré par un ordinateur central COBOL de 40 ans.
Avec la flambée du chômage liée au COVID-19, le système a du mal à suivre. Le gouverneur Murphy a identifié les programmeurs COBOL comme une nécessité sous-estimée.
Qu'est-ce que COBOL?
En 1959, le Comité sur les langages des systèmes de données a conçu COBOL. Ils voulaient concevoir un langage de programmation standard pour fonctionner sur de nombreux mainframes différents.
À cette époque, de nombreux nouveaux langages de programmation étaient en cours de développement, et la traduction de langages de programmation pour fonctionner sur du nouveau matériel devenait trop coûteuse. COBOL, ou langage commercial commun, était la solution à ce problème.

COBOL était basé sur le langage de programmation FLOW-MATIC, qui a été créé par Grace Hopper. C'était le premier langage de programmation à utiliser des termes anglais pour le traitement des données au lieu de la notation mathématique. Grace Hopper a expliqué:
«J'étais professeur de mathématiques. A cette époque, j'ai découvert qu'il y avait un certain nombre d'élèves qui ne pouvaient pas apprendre les mathématiques. J'ai alors été chargé de faciliter l'utilisation de nos ordinateurs par les hommes d'affaires. » (Le développement précoce des langages de programmation p. 29)
De même, COBOL utilise des termes anglais et a été conçu pour être facile à lire. Cependant, certains l'ont critiqué pour être trop verbeux. Par exemple, en C, vous pouvez écrire ce qui suit pour ajouter deux nombres:
int result = 1 + number;
Le même code en COBOL serait écrit comme suit:
ADD 1 TO number GIVING result
Tout comme C, COBOL est un langage de programmation procédural. Cela signifie simplement que les programmes COBOL sont conçus pour suivre des étapes séquentielles. COBOL est également un langage auto-documenté, ce qui ajoute à sa convivialité. Cependant, la caractéristique la plus connue de COBOL est qu'il peut gérer d'énormes quantités de traitement de données.
COBOL est devenu largement adopté, en particulier par les entreprises, les gouvernements et les institutions financières. Si largement adopté, qu'il est même encore utilisé dans de nombreux endroits aujourd'hui.
Pourquoi est-il devenu moins populaire?
Malgré la popularité passée de COBOL, peu de gens connaissent la langue. Il existe aujourd'hui de plus en plus de langages de programmation centrés sur les commandes anglaises qui ont beaucoup plus de fonctionnalités que COBOL. Peu de programmeurs créent de nouveaux programmes en COBOL; son utilisation principale est de maintenir les programmes existants.
Une critique de COBOL est que les programmeurs avaient tendance à écrire du code spaghetti. Le code spaghetti est un terme péjoratif pour un code mal structuré. Le principal coupable d'un code mal structuré était la commande GOTO.
Comme mentionné précédemment, COBOL est procédural, de sorte que l'ordinateur lit chaque ligne de code, de haut en bas dans l'ordre. La commande GOTO permettait au programmeur de dire au programme de passer à une ligne différente. Une mauvaise utilisation de la commande GOTO peut rendre le code COBOL alambiqué.
Une autre raison pour laquelle le COBOL n'est pas populaire est qu'il est rarement enseigné dans les universités. COBOL a été créé par le milieu des affaires, pas par le milieu universitaire. Il a été conçu pour résoudre des problèmes commerciaux et est optimisé pour des problèmes tels que le traitement des données. Les universitaires s'intéressent souvent à différentes questions et, par conséquent, promeuvent différents langages de programmation.
Cependant, l'un des plus gros problèmes avec COBOL est que bien qu'il soit conçu pour être un langage commun, ce n'est pas le cas. Au fur et à mesure que la langue évoluait, de nombreux dialectes différents ont été créés – 300 d'entre eux!
Cela rend difficile pour les programmeurs de comprendre le code hérité.
Pourquoi COBOL est important
Parce que COBOL est largement utilisé par les entreprises et les gouvernements, de nombreux systèmes COBOL doivent encore être maintenus. Le code hérité est notoirement difficile à maintenir car les programmes sont volumineux et complexes. Ainsi, des programmeurs ayant une compréhension approfondie du langage sont nécessaires pour maintenir les programmes.
Il faut également beaucoup de temps pour apporter des modifications au code car il est difficile de déterminer si les modifications affecteront d'autres parties du programme.

Par exemple, dans les années 90, nous avons été confrontés au bogue de l'an 2000. De nombreuses dates d'année ont été enregistrées dans les ordinateurs en utilisant les deux derniers chiffres de l'année au lieu de l'année complète. Ainsi, 1997 était stocké comme 97. On craignait que lorsque l'année passe à 2000, l'année 00 ne soit pas reconnue comme valide, cause des problèmes avec les séquences de dates et risque de planter de nombreux systèmes.
Il a fallu aux gouvernements et aux entreprises américains plusieurs années et 100 milliards de dollars pour faire face au bogue de l'an 2000. Il est possible de changer les anciens systèmes, mais cela peut prendre du temps et peut être coûteux.
En 2020, COVID-19 a créé un nouveau problème de programmation. Le système de chômage américain fonctionne sur COBOL et il est très difficile et coûteux d'apporter des modifications au programme. Par exemple, le Congrès avait prévu de répondre à la flambée du chômage en calculant les indemnités de chômage en fonction de la perte de salaire. Cependant, il aurait fallu cinq mois pour ajuster le programme afin de mettre en œuvre le calcul.
Les systèmes COBOL ne peuvent pas être modifiés assez rapidement pour répondre aux situations de crise. Le problème est aggravé car il n'y a pas assez de personnes formées en COBOL pour aider à la maintenance accrue requise pour soutenir les systèmes en cas de crise. Ceux qui sont formés en COBOL sont soit à la retraite, soit en voie de retraite.
Où apprendre COBOL
Pour répondre au besoin croissant de programmeurs COBOL, IBM a créé un cours COBOL gratuit . Le cours se compose d'une série de vidéos, de quiz et de travaux de laboratoire, prend 16 heures et vous recevrez un badge à la fin.
Si vous êtes déjà un programmeur COBOL expérimenté, IBM propose également un forum de réseautage COBOL. Là, les programmeurs expérimentés peuvent être connectés aux organisations et aux entreprises dans le besoin.
COBOL n'est pas un langage de programmation à la mode, comme Python, mais c'est un langage important. Une grande partie du monde fonctionne encore sur COBOL. Si vous envisagez d'apprendre un langage de programmation, mais que vous avez besoin d'un coup de pouce, envisagez d'apprendre COBOL.