Tout le monde veut se débarrasser de ce langage…

Image - Tout le monde veut se débarrasser de ce langage...

Cet article traite d’un langage de programmation en particulier qui aujourd’hui est de plus en plus démodé et dépassé – ou pas – selon les points de vue. Des centaines de langages de programmation ont été créés avec le temps pour développer les sites internet, les logiciels, les application etc… et beaucoup sont créés chaque année. Comme pour les langages plus traditionnels, beaucoup de personnes les apprennent – et la plupart d’entre-eux adorent ça! Les plus populaires sont Java, C, C++, Python, PHP, JavaScript, SQL – si vous n’avez jamais entendu aucun d’entre eux, ce n’est pas bien grave mais sachez qu’ils attirent tous les jours de plus en plus de nouveaux jeunes développeurs. Si ces langages mentionnés plus haut sont toujours utilisés pour « créer » et « développer » de nouveaux logiciels ou produits, d’autres ont perdu de leur popularité à tel point qu’il est désormais parfois très difficile de trouver des développeurs compétents. L’un d’entre eux est le langage « COBOL » qui est toujours activement utilisé par la plupart des systèmes et applications du monde.

COBOL est un langage de programmation créé en 1959 (officiellement le 18 septembre 1959) – bien avant que le premier homme ne marche sur la lune – par Grace Hopper, mieux connue sous le nom de la mère du COBOL. Son nom est l’acronyme de COmmon Business Oriented Language qui révèle sa vocation originelle : être un langage commun pour la programmation d’applications de gestion dans le domaine de la finance, des systèmes d’administrations pour les entreprises et les gouvernements. Avant cela, tous les systèmes avaient leurs propres langages de programmations ce qui posait un problème pour les entreprises qui devaient gérer une multitude d’ordinateurs différents. L’objectif était donc de créer un langage de programmation portable.

Robuste – COBOL est principalement utilisé par les systèmes mainframe IBM qui sont très connus pour leur fiabilité d’abord (quelques secondes d’arrêt par an) et, dans une moindre mesure, par leur puissance, ils sont parfois les seuls ordinateurs capables de répondre aux besoins de leurs utilisateurs (traitement de très grandes bases de données accédées par des dizaines ou des centaines de milliers d’utilisateurs). Ce sont pour ces raisons qu’ils sont très populaires dans le monde bancaire, des assurances puisque la sécurité est un enjeu majeur.

Auto-documenté – Contrairement aux autres langages de programmation, le COBOL est auto-documenté. Même les personnes n’ayant aucune connaissance technique peuvent en seulement quelques semaines devenir très productives sans forcément avoir besoin de comprendre le fonctionnement et l’architecture interne des systèmes d’exploitations (OS) en détail. C’est grâce aux lignes de codes et syntaxes qui sont « verbales » et très ressemblantes à l’Anglais.

Facile à maintenir – Les syntaxes très ressemblantes à l’Anglais permettent de maintenir les codes et les logiciels écrits en COBOL par une personne autre que le développeur d’origine. De plus, les codes sources peuvent être repris et réutilisés par d’autres utilisateurs qui n’ont pas forcément de bases de programmation.

Portabilité inter-plateforme – Les utilisateurs des applications écrites en COBOL peuvent les migrer ou les faire fonctionner sur différentes plateformes ou hardware sans avoir besoin de recompiler le code source. C’est une caractéristiques très importante qui donne l’assurance que l’application fonctionne partout même en cas d’obsolescence.

Evolution – COBOL est le plus évolutif de tous les langages de programmation.

Le langage COBOL est très utilisé par des applications et systèmes très anciens mais malgré tout, il est estimé que presque 75% de toutes les transactions d’affaires du monde sont traitées par des applications écrites en code COBOL. Les statistiques parlent d’elles même*:

  • 95% des transactions journalières opérées par les distributeurs de billets (ATM) utilisent COBOL.
  • 80% des transactions journalières des terminaux de paiement sont possibles grâce aux codes COBOL.
  • 90% des systèmes d’information des plus grosses entreprises Fortune 500 fonctionnent tous les jours grâce aux applications COBOL.
  • 72000 conteneurs de marchandises sont transportés et stockés tous les jours en utilisant des applications écrites en COBOL.
  • 85% des transactions portuaires sont opérées par du COBOL.
  • 500 million d’utilisateurs de téléphone mobile communiquent entre eux tous les jours grâce aux systèmes et applications COBOL.
  • 96% des systèmes de réservations de vacances sont possibles grâce aux codes COBOL.

Ce qui n’est souvent pas suffisamment souligné est le fossé énorme entre le nombre d’entreprises qui reposent sur des applications ou systèmes écrits en COBOL et le rapport avec les programmeurs et développeurs aujourd’hui:

  • L’age moyen d’un développeur COBOL est 55 ans.
  • 310 milliard de lignes de code COBOL déjà existantes sont utilisées dans le monde.
  • 5 million de nouvelles lignes de code COBOL sont écrites et développées chaque jours.
  • 5 milliards de nouvelles lignes de code COBOL sont écrites et développées chaque année.

En effet, malheureusement, les développeurs COBOL partent à la retraite plus vite qu’ils ne sont remplacés car les institutions d’enseignement se focalisent sur les technologies de pointes et les langages de programmations plus populaires. La raison pour laquelle les développeurs choisissent des langages plus populaires vient du fait qu’ils passeraient la plupart de leur temps à faire de la maintenance, à modifier et adapter des bouts de codes déjà existants plutôt que d’avoir le champ libre d’un projet de développement. Tout le monde n’apprécie pas le fait de ne pas pouvoir créer quelque chose de nouveau.

*Sources: Aberdeen Group; Giga Information Group; Database & Network Journal; The COBOL Report; SearchEngineWatch.com; Tactical Strategy Group; The Future of COBOL Report

L’idée que les grandes entreprises se libèrent du COBOL n’est pas encore à l’heure du jour. Répondre à la question « pourquoi le COBOL n’a toujours pas été remplacé » nécessite de prendre un peu de recul et de retourner dans le passé.

Le COBOL a été créé en 1959 à l’aube de l’ère de l’informatique quand les langages de programmation étaient utilisés et adaptés à des buts très précis et très spécifiques. Lorsque la plupart des entreprises, banques, compagnies d’assurance et institutions gouvernementales sont entrés dans cette ère de l’informatique, la connaissance de plusieurs langages de programmation spécifiques à leurs machines et systèmes de l’époque étaient alors une condition sinequanone pour se développer bien que dans les faits la diversité de leurs systèmes rendait la tâche complexe. C’est pour cette raison qu’il y avait le besoin de créer un langage de programmation universel.

Grace Hopper, la mère du COBOL, a créé ce nouveau langage de programmation qui avait pour but de fonctionner sur tous les systèmes et donc d’économiser énormément de temps et d’argent.

Puis, un comité constitué d’entreprises, d’universités et du gouvernement des Etats-Unis a été formé pour développer ce dit-langage afin d’aider à standardiser la programmation d’entreprise. Le Ministère de la Défense des Etats-Unis a même décrété dans les années 1960 que toutes les transactions d’affaire doivent tourner sur du COBOL. C’est pourquoi, au moins jusque dans les années 90s, il n’y a pas vraiment eu de successeur qui pouvait gérer les processus de traitement des informations en masse aussi efficacement qu’avec le COBOL.

Mais la raison encore plus importante de ne pas faire tanguer le bateau est la taille et le coût de remplacement des milliards de lignes de COBOL existantes. Les entreprises du monde entier utilisent aujourd’hui plus de 310 milliards de lignes de code. Ce serait un exploit herculéen de remplacer chaque programme d’entreprise par un tout nouveau programme écrit dans un autre langage de programmation sans introduire de bogues nuisibles au bon fonctionnement des opérations.

Conclusion

Compte tenu du rôle important que joue COBOL dans la vie de tous les jours, les programmeurs COBOL sont nécessaires aux efforts d’amélioration, de maintenance et de transition. Dans un domaine qui évolue à une vitesse sans précédent, les jeunes générations risquent de négliger une compétence essentielle qui sera peut être très prisée dans le futur.

Source:

http://www.answers.com/Q/What_are_the_advantages_and_disadvantages_of_cobol
https://blog.hackerrank.com/the-inevitable-return-of-cobol/
https://en.wikipedia.org/wiki/COBOL