[Offert] Faut-il se débarrasser des systèmes COBOL ?
Entre dédain et transmission des savoirs
Le 30 décembre 2025 à 16h57
On parle souvent du langage COBOL comme d’un dinosaure dont il faudrait se débarrasser. Omniprésent dans le domaine bancaire et les assurances notamment, il serait en décalage complet avec les standards modernes de la programmation. Qu’en est-il vraiment ? D’après les gardiens du temple interrogés par Next, c’est loin d’être aussi simple.
[Offert] Faut-il se débarrasser des systèmes COBOL ?
Entre dédain et transmission des savoirs
On parle souvent du langage COBOL comme d’un dinosaure dont il faudrait se débarrasser. Omniprésent dans le domaine bancaire et les assurances notamment, il serait en décalage complet avec les standards modernes de la programmation. Qu’en est-il vraiment ? D’après les gardiens du temple interrogés par Next, c’est loin d’être aussi simple.
Le 30 décembre 2025 à 16h57
Logiciel
Logiciel
21 min
Pour les fêtes de fin d’année, Next vous offre cet article initialement paru le 18 juillet 2025 et réservé aux abonnés. Pour lire les prochains entretiens dès leur publication, abonnez-vous !
Pour comprendre la situation, il faut d’abord revenir aux origines. Le COBOL, pour COmmon Business Oriented Language, est un langage créé en 1959. Il a été développé par le Short Range Committee, qui incluait des représentants de l’industrie et du gouvernement américain. Son objectif était de créer un langage de programmation portable, orienté vers la gestion et facile à lire, s’inspirant de l’anglais courant.
Comme on peut le lire sur Wikipedia entre autres, cette création a largement teinté le COBOL. Le comité qui lui a donné naissance avait été rassemblé au Pentagone et réunissait trois agences du gouvernement américain : l’US Air Force, le David Taylor Basin et le National Institute of Standards (alors NBS, l’ancêtre du NIST actuel). L’informaticienne Grace Hopper, à qui l’on doit notamment le premier compilateur (A-0 System), est l’un de ses principaux architectes. Son langage FLOW-MATIC est la principale source d’inspiration du COBOL, avec le COMTRAN d’IBM.
Ce qu’est le COBOL
« Verbeux » est probablement l’adjectif qui revient le plus souvent pour décrire le COBOL. Voyons donc comment il s’articule.
Un programme COBOL est structuré en quatre divisions. La première, nommée Identification, contient des informations générales sur le programme : nom, auteur et date de compilation. La deuxième, Environment, décrit les environnements matériel et logiciel dans lesquels le programme va s’exécuter, dont la configuration des ordinateurs et les fichiers utilisés. Cette division est devenue moins utilisée avec le temps, grâce à l’évolution des compilateurs devenus capables de s’adapter à ces environnements.
La troisième division, Data, a pour mission de définir les données que le programme va utiliser. Il faut y indiquer si ce sont des variables, des structures de données et les paramètres. La définition des variables n’a rien de commun avec les langages d’aujourd’hui, car le COBOL utilise une structure en arborescence, l’imbrication étant pointée par des numéros de niveaux. La dernière division, Procedure, contient les instructions exécutables proprement dites. Elle est capitale, car elle code littéralement la logique métier du secteur dans lequel le programme va se retrouver.
Chacune de ces quatre divisions peut être découpée en sections, elles-mêmes composées de paragraphes. Et si l’on parle de paragraphes, c’est parce qu’ils contiennent… des phrases. Celles-ci peuvent être des instructions ou des clauses, terminées par un point. Si l’on ajoute que la syntaxe du COBOL est très proche de l’anglais, avec des instructions comme ADD, MOVE ou PERFORM, on obtient pratiquement un texte. « Verbeux » est donc le bon mot, car tout y fonctionne par mots-clés, mais c’est ainsi que le COBOL a été conçu : pour être lisible.
Un lien fort avec le matériel
Il faut tenir compte également du contexte matériel dans lequel le COBOL a été créé, notamment les écrans. On parle bien des moniteurs à tube cathodique avec les fameuses écritures vertes, avec un affichage sur 80 colonnes. Le COBOL est calqué sur cette organisation, héritée des cartes perforées.
Initialement, les six premières colonnes étaient ainsi dévolues au numéro de séquence. La colonne 7 correspondait à l’indicateur, les colonnes 8 à 11 aux en-têtes de divisions, sections, paragraphes et définitions de données de haut niveau, puis les colonnes 12 à 72 aux instructions. Les dernières colonnes étaient dévolues à l’identification du programme. Là encore, avec le temps et l’évolution des compilateurs, les programmes ont pu adopter petit à petit une structure plus libre.
Le COBOL est également indissociable des mainframes. Ils reposent sur le modèle d’une unité centrale particulièrement puissante desservant des terminaux légers. Dans ce domaine, IBM a joué un rôle majeur, étant aujourd’hui le seul grand pourvoyeur de mainframes, via ses produits zSeries. Si vous lisez entre les lignes, cela signifie que l’on peut aujourd’hui s’équiper avec du matériel neuf pour mettre en place… une solution COBOL. Les mainframes peuvent bien sûr être utilisés dans d’autres cas.
Toujours présent ? En 2025 ?!
Le COBOL serait largement présent dans le secteur bancaire, les assurances, les grandes administrations publiques, et même dans d’autres domaines comme la santé, l’automobile, les transports et la distribution. Il serait partout, mais on n’en entendrait jamais parler. Partout à quel point ?
Selon une enquête réalisée par Reuters en 2024, pas moins de 43 % des systèmes bancaires actuels seraient construits en COBOL. Une part énorme, qui se répercute dans les opérations courantes, puisque plus de 80 % des transactions par carte bancaire seraient traitées en COBOL. Dans les distributeurs automatiques, ce chiffre s’envole même à 95 %. Aujourd’hui, plus de 90 % des entreprises du classement Fortune 500 utiliseraient du COBOL de manière plus ou moins intensive.
Selon une étude menée par Micro Focus en 2022 et citée par DataScientest, il y aurait aujourd’hui 850 milliards de lignes de code écrites en COBOL en production. Un chiffre vertigineux, qui pose bien sûr la grande question : pourquoi ? L’interrogation est légitime, car si le COBOL est un vieux dinosaure, il devrait avoir été remplacé depuis longtemps. Après tout, tout évolue très vite en informatique et le matériel comme le logiciel ont fait des bonds spectaculaires en plusieurs décennies. Serait-ce une simple question d’inertie ?
« Pourquoi ne serait-il plus là ? »
Nous avons discuté avec plusieurs développeurs COBOL, que l’on nomme traditionnellement « cobolistes ». Tous présentent étrangement le même profil : ils ne se destinaient pas à ce langage. En fait, ils n’avaient même pas prévu de s’orienter vers l’informatique en particulier. Presque tous sont issus de la grande vague de recrutement des années 90, quand la peur du bug de l’an 2000 a provoqué une explosion de la demande. Car oui, ce bug de l’an 2000 était lié au COBOL.
Parmi ces cobolistes, Gatien Dupré se considère comme « un recyclé de l’informatique ». « Je n’étais absolument pas destiné à faire de l’informatique puisque je faisais des études en biotechnologie », nous explique-t-il. Mais les années 2000 sont arrivées, et avec elles le fameux bug ainsi que le passage à l’euro. « Deux changements majeurs qui devaient impacter le corps du système IT, notamment des grands groupes du tertiaire, les banques en premier », nous raconte le développeur, qui a été élu Mainframe Influencer deux années de suite par Planet Mainframe et IBM Champion 2025, et travaille aujourd’hui comme Chief Product Technical Officer chez Virtel.
Il casse d’abord une idée reçue : oui, il y a bien eu des projets pour se débarrasser des mainframes, ce que l’on nomme « downsizing ». C’était le cas par exemple en 2015 quand il travaillait à la Société Générale. Mais dans la plupart de ces projets, le même constat revenait, selon lui : le mainframe avait le meilleur TCO (coût du cycle de vie) et le système Z d’IBM avait encore de beaux jours devant lui. La question se posait depuis longtemps de savoir, face à une architecture conçue pour être pérenne, comment moderniser la pratique, car la façon de faire avait largement changé. Une réflexion qui l’a conduit à constituer une petite équipe pour travailler sur le sujet, aboutissant à une embauche chez IBM comme Product Manager sur une partie de la gamme DevOps nouvellement créée de l’entreprise.
À la question « Pourquoi le COBOL est-il toujours là », Gatien Dupré joue la contre-interrogation : « Pourquoi ne serait-il plus là ? ». Il développe : « Se demander pourquoi le COBOL est toujours là, c’est un peu pour moi une vision passéiste, qu’on a beaucoup entendue, notamment par les personnes qui pratiquent d’autres langages, principalement le Java ».
Il compare le COBOL au grand requin blanc : une relique de la préhistoire, mais qui existe encore parce qu’il « est parfaitement adapté à son milieu ». « Si le COBOL est toujours là, c’est qu’il s’est toujours adapté au plus près des besoins business. Il est fait pour le massive output, pour le traitement de grandes masses de données de manière efficace et performante », ajoute le développeur.
« On a créé des systèmes qui ont des dizaines d’années, donc qui ont une séniorité, une pérennité, une stabilité incontestables parce qu’ils ont été tunés au fil du temps par pas mal d’ingénieurs. Et derrière, au lieu de tout refabriquer pour arriver en définitive à peu près à la même chose – si on a de la chance en dépensant beaucoup d’argent – on peut directement exposer des choses qui fonctionnent et qui sont éprouvées », explique Gatien Dupré.
Les velléités de remplacement ne sont d’ailleurs pas un phénomène nouveau : « Quand j’ai commencé ma carrière, les CTO voyaient dans le COBOL quelque chose qu’il fallait abattre, un élément contre-performant. Aujourd’hui, on a une approche beaucoup plus pragmatique, opérationnelle, qui vise à dire : utilisons la bonne technologie au bon endroit ».
Un langage vivant
Pour Gatien Dupré, il y a plusieurs raisons expliquant que COBOL soit toujours là. Ses performances d’abord, que l’on ne retrouve pas toujours selon lui dans d’autres langages, notamment le Java qu’il pratique également.
Autre avantage, la verbosité du langage et son codage de la logique métier : « On a des chaînes de traitement qui sont parfois historiques. Je parle par exemple des chaînes de traitement comptables. Tous les bilans, tous les traitements comptables des banques, par essence, sont faits au travers du langage COBOL. Quand on a un problème dans un traitement comptable, on doit pouvoir rapidement le déboguer. Et ça, c’est quelque chose qu’on est capable de faire sans l’aide d’aucun outil dans le code, parce que le langage est très verbeux ».
En outre, comme il nous l’explique et « contrairement à ce que croient beaucoup de gens, le Cobol est un langage vivant ». Le COBOL, dans sa version IBM qui est principalement utilisée dans les entreprises, en est à sa sixième version, nommée Enterprise V6 chez l’entreprise. « Aujourd’hui, on est à la version 6, qui est une version extrêmement disruptive. Vous pouvez faire par exemple de l’open banking avec COBOL. C’est-à-dire que vous pouvez exposer des API et consommer des services dans le système du COBOL, qui lui-même peut consommer aussi des services tiers venant d’ailleurs », ajoute l’ingénieur.
Les méthodes d’apprentissage et son utilisation ont largement évolué aussi. Il y a une opportunité selon lui pour incorporer des méthodes modernes, à travers notamment VS Code et le DevOps, l’automatisation des tests, la virtualisation des environnements, etc. On trouve même des assistants IA prenant en charge le COBOL, comme Watson X for Code Assistant chez IBM, Code Insight chez BMC, ou encore COBOL Colleague chez PhaseChange.
Le poids du passé
Le COBOL évolue, mais comment faire le lien entre passé et présent ? Comment préparer l’avenir ? Ces questions se posent d’autant plus que la grande vague d’embauches de la fin des années 90 débouche petit à petit sur un nombre croissant de départs à la retraite. En outre, l’apprentissage du Cobol aujourd’hui ne prépare qu’en partie à la gestion d’anciens projets qui, si leur code a évolué, constituent un empilement parfois vertigineux de couches successives.
« Si on se forme maintenant, donc en V6, comment faire pour affronter l’ancien code ? Il n’y a pas beaucoup de différences dans la sémantique, il y a simplement certaines failles, mais heureusement le compilateur met en avant les éléments qui ne sont plus compatibles. Mais rentrer dans la logique d’un programme existant, c’est toujours une gageure », confirme Gatien Dupré.
Cette cassure est soulignée également par Gaétan Roelens, développeur COBOL et chef de projet chez ArcelorMittal, et lui aussi venu au COBOL un peu par accident. Il s’est notamment fait connaitre en intervenant sur la chaine Underscore chez YouTube, sur le même sujet.
Contacté par Next, il comprend que le COBOL peut effrayer par sa verbosité ou son approche. « Bien sûr que les mainframes d’aujourd’hui n’ont rien à voir avec ceux de l’époque. Mais il ne faut pas négliger la syntaxe du COBOL. Elle date d’il y a 60 ans, elle parait absurde aujourd’hui. Et on ne peut pas le nier : on code toujours sur 80 colonnes, on n’a pas la souris. Au niveau de l’interface, c’est vieux, ça c’est clair. Le développeur, devant un écran de mainframe, il va halluciner. Ça fait vieillot, clairement. Par contre, ce qui tourne derrière, ce sont les super performances ».
La tentation du neuf
Tout effacer pour repartir sur une base neuve est une tentation constante, qui fait partie intégrante du solutionnisme technologique. Dans le cas du COBOL cependant, le langage embarque, lui, la logique métier. Plonger dans son code et reculer dans le temps revient à ouvrir un livre d’histoire sur l’évolution des pratiques du métier et leurs évolutions. Dans certains cas, cet historique est crucial. Dès lors, repartir sur une base neuve devient aussi complexe qu’onéreux, quand l’opération est possible.
« Je pense que les systèmes sont devenus trop gros, on n’arrive pas à migrer, on n’a pas de solution encore pour migrer des systèmes aussi gros. La méthode Scrum agile ne marche pas pour ce genre de projet aussi énorme. Ça va dériver dans le temps et ne jamais se terminer. Et si on veut faire des projets à l’ancienne, avec des deadlines, etc., on n’arrive pas à caser tout dans le budget », abonde ainsi Gaétan Roelens.
Il poursuit : « Ensuite, les règles de gestion qui ont été codées à l’intérieur depuis 60 ans ne sont plus maîtrisées par les utilisateurs. Si on prend l’exemple d’un projet XY, on va dire « Bon, alors maintenant, à la place de ce qui tourne, on va vous mettre ce projet. Donnez-nous toutes les règles de gestion pour les recoder dans le projet XY ». Les utilisateurs vont dire : « On ne sait plus. On ne sait pas. Oui ça fonctionne, mais on ne sait pas ce qu’il y a derrière ». Donc dans ce cas-là, il faut refaire toute une rétro-analyse. Et rien que l’analyse du COBOL pour extraire toutes les règles codées, ça va coûter aussi cher que le projet en lui-même ».
Ce qui revient, en somme, à chercher dans le code le cahier des charges. Un problème autant qu’un avantage selon le développeur, car la documentation a souvent tendance à disparaitre, là où le code est toujours là. Et, si lui aussi note l’adaptation à l’IA et l’arrivée d’outils pour le COBOL, il s’agit surtout d’écrire du nouveau code, pas d’analyser l’existant.
« Là où je travaille en ce moment, il y a 4 000 programmes, tous imbriqués entre eux. Et ce n’est pas une grosse architecture. L’IA est incapable de gérer ça pour l’instant », indique Gaétan Roelens. Une IA capable d’analyser 4 000 programmes et d’en décrire les imbrications pourrait-elle être considérée comme révolutionnaire ? « Clairement, parce qu’il faudrait que l’IA comprenne tout. Chez ArcelorMittal, par exemple, elle devrait comprendre ce qu’est une bobine, dans quel rouleau elle passe, etc. C’est la logique métier et elle est présente dans le code. C’est le code en COBOL qui va dire que telle bobine d’acier doit passer à telle date dans telle machine, dans tel rouleau, qu’elle ait telle épaisseur, etc. ».
Une approche hybride
Si le langage évolue et que l’approche se veut plus pragmatique, une approche hybride peut-elle être envisagée ? Pour Julien Eliès, autre développeur COBOL avec qui nous avons discuté, c’est une évidence.
« En France, le COBOL est encore assez utilisé, dans les banques et assurances bien sûr, mais aussi dans pas mal de PME et dans la santé. Souvent, ces sont des applicatifs qui datent des années 90. Dans l’entreprise où je suis, c’est en train d’être réécrit : l’interface applicative est refaite en Java, mais c’est bien le Cobol derrière qui fait les traitements ».
Lui aussi pose la question : « Pourquoi changer ce qui fonctionne ? C’est une question de masse historique, de nombre de milliards de lignes de code. Ce serait très long, très coûteux, alors que le COBOL marche. Et il marche même très bien. Quand vous voulez traiter des millions, voire des milliards, de transactions financières dans les banques et qu’il faut le faire entre 20 h le soir et 6 h le lendemain matin. Je n’ai pas encore vu Java le faire, alors que sur des gros systèmes, il n’y a pas de problème avec COBOL ».
Il attire d’ailleurs notre attention sur un autre critère qui a rendu le COBOL si précieux dans le domaine financier et explique qu’il soit toujours là : « Il y a aussi un problème de gestion du numérique, de typage de variables. En Java, il n’y a pas de numérique à nombre de décimales fixes. On a un entier, on a un décimal, mais le nombre de décimales n’est pas fixe. C’est Java qui va le décider en fonction de son utilisation. Alors que pour des calculs financiers notamment, on a vraiment besoin que les nombres soient définis avec 2 ou 5 décimales, et que ce soit toujours la même chose. Sinon on tombe sur des arrondis qui peuvent générer des coûts conséquents quand on parle de millions voire de milliards d’euros ».
Il casse d’ailleurs une autre idée reçue : la mise en place du virement instantané dans les banques n’était pas tant un problème de COBOL que d’architecture. « Oui le COBOL était utilisé dans des traitements asynchrones et des batchs de nuit. Ça répondait dans la dizaine de secondes ou dans la minute. Ce n’était pas idéal pour les virements instantanés, qui engendrent des traitements complexes. Mais c’est surtout un problème d’architecture, car rien n’empêche d’avoir une interface web qui appelle un programme Cobol, qui répondra en quelques dixièmes de seconde ».
Lui aussi estime qu’un programme fonctionnel en COBOL ne devrait pas être remplacé : « Si vous avez un existant COBOL qui marche, qui fait le job, et qu’on peut brancher avec une interface moderne, pourquoi réécrire ? Ça coûterait cher, ça générerait probablement beaucoup d’erreurs, beaucoup de bugs à corriger, pour peu d’avantages ». Tout en précisant, en riant : « Mais bon, nous les cobolistes, on est de vieux ronchons ».
Transmission du flambeau : c’est compliqué !
Comme beaucoup de « cobolistes », Gaétan Roelens nous expose ses craintes sur la passation des connaissances entre l’ancienne génération de sachants et la nouvelle : « C’est vrai que jusqu’à maintenant, on s’appuyait sur les gens de cette génération-là. Quand j’avais un problème vraiment trop complexe pour moi, j’allais les voir. Et aujourd’hui, ils sont partis. Je vous avoue que des fois on est bien embêtés », nous confie le développeur.
Comment faire alors ? « On bricole parfois. On ne peut plus aller aussi loin qu’avant, aussi au fond. Avant, si on avait un bug, on allait creuser jusqu’au bout, voir d’où venait le bug. Des fois, on devait aller dans la partie assembleur du COBOL, du z/OS, etc. Mais aujourd’hui, presque plus personne ne sait le faire. Donc, si on a un bug et qu’on n’arrive pas à trouver, on contourne le problème. On va faire autre chose, mais on ne résout pas vraiment le problème. C’est sûr que ça dégrade les performances ».
« On arrive toujours à se débrouiller, mais ce n’est pas une situation idéale. Si on pouvait avoir encore des experts aujourd’hui, des jeunes qui montent en compétences, ce serait top, mais ce n’est pas ce que je remarque. Je remarque plus une rareté des experts en COBOL. Ce sont souvent les SSII qui forment. Après, on peut toujours faire appel aux Golden Tickets d’IBM. Eux, ils ont quand même des experts. Mais bon, c’est cher », poursuit Gaétan Roelens.
Le chef de projet nous indique avoir accepté l’invitation d’Underscore pour cette raison : attirer l’attention, faire la promotion de COBOL, casser l’idée reçue d’un langage figé et encourager les plus jeunes générations à se lancer. Comme Gatien Dupré, il s’inquiète de ce que les jeunes développeurs n’ont souvent jamais entendu parler du langage. Et, quand ils le connaissent, ils en ont souvent une vision mâtinée d’une couche de dédain chronologique : « c’est vieux, donc c’est nul ».
Même volonté chez Gatien Dupré : « Le conseil que je donne aux jeunes développeurs, c’est : intéressez-vous au COBOL et à l’informatique de gestion parce que c’est une mine d’or. Avec la vague des papy-boomers, le renouveau générationnel est une préoccupation que pas mal de gens ont. Pour nous, en COBOL, effectivement, il y a ce fossé générationnel : quand les derniers développeurs seniors partiront à la retraite, on aura peu de mid-seniors qui permettront d’accompagner ». On retrouve ainsi le problème de transmission des savoirs, en plus du simple apprentissage du langage.
Julien Eliès confirme lui aussi : « Parmi les cobolistes, je suis considéré comme jeune alors que je viens d’avoir 50 ans, donc c’est sûr qu’on va en manquer. Dans l’absolu, ce n’est pas compliqué de former un coboliste. Du moment qu’on a touché à un langage de programmation, qu’on sait ce que c’est un algorithme, en moins d’un mois, on a compris ce que c’était COBOL. Ce qui est compliqué c’est de maintenir des applicatifs qui ont 40 ans, sur lesquels des centaines de personnes sont intervenues, et dont on a souvent perdu la documentation ».
De fait, pour les trois cobolistes, il n’y a aucune raison technique de remplacer les programmes COBOL existants s’ils donnent satisfaction. En revanche, le problème de la transmission des savoirs et de l’appropriation des projets existants est un vaste problème posant la question de la maintenabilité du code. Même si pour les développeurs interrogés, la thématique n’est pas nouvelle : quand les entreprises ont des besoins, une solution finit en principe par émerger.
Commentaires (72)
Abonnez-vous pour prendre part au débat
Déjà abonné ou lecteur ? Se connecter
Cet article est en accès libre, mais il est le produit d'une rédaction qui ne travaille que pour ses lecteurs, sur un média sans pub et sans tracker. Soutenez le journalisme tech de qualité en vous abonnant.
Accédez en illimité aux articles d'un média expert
Profitez d'au moins 1 To de stockage pour vos sauvegardes
Intégrez la communauté et prenez part aux débats
Partagez des articles premium à vos contacts
Abonnez-vousModifié le 18/07/2025 à 10h41
(Même si je suis passé côté BA/Métier depuis quelques temps)
Il y a eu quelques SS2I qui ont abusé un temps avec des salaires très bas après formation. J'ai connu des cas à peine au dessus du smic, tu m'étonne que les gens ne restent pas...
Le 18/07/2025 à 10h43
Du coup, bienvenue les problèmes ! Car c'était vraiment stable.
Le 21/07/2025 à 12h11
Le 18/07/2025 à 10h52
Le 18/07/2025 à 10h58
Sans être totalement sûr que la comparaison est pertinente vu que je ne fais pas de développement Android, ce nouveau langage serait à COBOL ce que Kotlin est à Java sur Android.
Ça ne résoudrait pas le problème de la maintenance de l’existant (ou du déverminage niveau assembleur) mais ça pourrait améliorer l’attrait pour les nouveaux développements en conservant les performances du COBOL pour les parties qui en ont besoin (puisqu’ils ont déjà la solution pour les interfaces clientes avec des langages plus classiques).
Le 18/07/2025 à 13h34
Voir même pourquoi ne pas créer un nouveau langage "moderne" qui soit parfaitement adapté aux besoins des banques, assurances et autres, et qui prennent en compte une évolution progressive au fil des années pour s'adapter aux besoins futures.
Là c'est un peu comme pour le dérèglement climatique: on a une dette énorme, mais des acteurs qui préfèrent fermer les yeux en disant "tant que ça marche on touche à rien". Plus on attend plus la dette sera insurmontable. Ce n'est absolument pas résilient !
Quoiqu'il en soit merci pour cet article et merci aux intervenants, c'est un sujet très intéressant.
Le 18/07/2025 à 15h21
Ceci dit, j'ai travaillé sur un système genre scratch pro (CoolGen) qui générait soit du C, soit du COBOL pour cibler le système. Cela, en 2002/2003. Donc ça a déjà été traité.
Le 19/07/2025 à 12h13
Et c'est là qua ça attaque. Les comptables (donc banque et assurance) sont intransigeant avec ça. Il leur faut le dispositif qui fait l'arrondi comme il le veulent (par ex). Et reproduire à l'identique l'existant des systèmes qu'ils ont déjà et avec la performance / résilience qui va avec. Y'en a pas 36 dans le monde qui font ça. Et ça coute un bras et une jambe.
Deuxièmement les langages sont souvent le fait des entreprises (et des crétins de doctorant dedans). Ce qui ne fait pas autorité et légitimité (dans le sens d'une IETF ou autre). Et c'est donc le marché qui décide. Avec les résultats qu'on connait. Splotch.
Une note : Vu la liste des langages existant dont certains sont plus présent pour dire "j'ai fait un langage dans mon doctorat de math" qu'autre chose, c'est pas forcément un nouveau langage qui va sauver la donne.
Le 21/07/2025 à 12h13
Pas juste l'absence d'une classe numérique avec des méthodes d'arrondis orientées bancaire sinon ce serai réglé depuis longtemps.
Le 21/07/2025 à 13h07
En fait pris à par le CPU (P9, P10 etc.) est comparable à d'autre CPUs grand public. Mais si on prend la machine en entier (HW et son OS qui met tout en cache mémoire), ça arrache.
Bon et puis Java c'est suivant le cas d'usage (EE, pur ou JavaFx). Quand on sait que ça utilise très bien le matériel aujourd'hui. Ça n'a rien à envier à d'autres langages. Je veux dire par là. Android... si c'est pas JavaLand... Je sais pas.
Modifié le 21/07/2025 à 14h17
La heap space c'est 64GO max, de mémoire, le Cobol c'est des call à d'autres sous programmes quasi à l'infini, sans besoin d'attendre le garbage collector pour récupérer de la ressource ou le lancement de la JVM pour en allouer de nouvelles. Et sans le coût en calcul du garbage collector.
Un mainframe on compte en dizaine de TO la mémoire, je lis que le z17 c'est 64TO au max donc le cobol pourra en tirer partie si le code est correctement factorisé et optimisé là où java, structurellement, ne peut pas faire aussi bien, je pense, à cause de sa JVM.
Après je ne suis pas spécialiste des mainframes. Les mainframes font aussi "nativement" du java donc peut être il y a des mécanismes de provisionnement mémoire et de libération mémoire optimisés pour Java... leur plus value étant la perf et la fiabilité, ils ont dû travailler sur la perf java aussi. J'avais lu jadis qu'ils avaient une fonction de garbage collection "à chaud" mais je n'ai jamais creusé et je ne sais pas si ça permet de rattraper Cobol ou si ça limite juste les dégâts.
Le 22/07/2025 à 09h18
Java est une plateforme plus qu'un langage. Il maximise le débit des traitements, pas la consommation mémoire ou autres. COBOL est sans doute plus adapté aux mainframes, et dans certains traitement ce doit être le meilleur choix.
Le 27/07/2025 à 11h45
Cobol "compile" en interne un entier, et le format de la déclaration de donnée stocke le nombre de décimales : en gros tout est calcul en centimes d'euros en entier, et à l'affichage la déclaration de données est analyse pour afficher le "." décimal au bon endroit.
Le BigDecimal semble faire ça : le problème est la lourdeur de Java : Cobol c'est nativement géré à la compilation le CPU bosse en entier et la FPU n'est jamais utilisé. En Java, il y'a un classe qui est instancié en objet, avec des méthodes de cast ou des opérateurs de calcul sont recodés, tout ça en compilé en javacode (qui ne compile pas grand chose), et ce code est interpreté pas la JVM.
Bref calculer la TVA de 50millions de factures en cobol va faire 50millions de multiplications entières totalement répartissable en plusieurs thread, puis une simple addition du total. Sans aucune autre erreur possible qu'un éventuel overflow.
En Java... j'ose pas trop imaginer le nombre de cycles CPU supplémentaires : pour instancier l'objet, réserver sa mémoire, appeler les méthodes pour faire le calcul voir le cast, marquer la mémoire utilisée comme disponible, + les appels du carbage collector régulièrement...
Le 30/12/2025 à 23h05
Cela n'empêche pas de faire évoluer le langage en éliminant, en autre, les contraintes de format les cartes perforées, les écrans en 24 lignes de 80 colonnes et les imprimantes avec des lignes de 132 colonnes ayant un peu disparues… savoir aussi lire et écrire simplement des enregistrements de tailles variables
Le 18/07/2025 à 10h58
"On a créé des systèmes qui ont [...] une pérennité"
"Si on pouvait avoir encore des experts aujourd'hui, des jeunes qui montent en compétences, ce serait top, mais ce n'est pas ce que je remarque"
Je comprends que nous n'avons pas la même définition de ce qu'est la pérennité.
Pour qu'un système soit pérenne, il ne suffit pas qu'il soit bien fait (i.e. dans les règles de l'art), mais que son avenir soit assuré. Ce qui n'est clairement pas le cas ici, et qu'on voit au travers de la 2nde citation
Bon, la définition donnée par le Robert me contredit un peu: "État, caractère de ce qui dure toujours, ou très longtemps"
Dans le cas des systèmes évoqués ici, on est dans le "très longtemps" à l'échelle informatique.
Mais ce qui était pérenne à l'époque ne l'est plus aujourd'hui du fait de manque de main-d'oeuvre qualifiée.
Le 18/07/2025 à 11h01
Il était lié à l'âge des applications, qui dataient du temps ou gagner un octet sur chaque item était i n d i s p e n s a b l e
Bref, des applications qui avaient le même âge que le COBOL. Mais je ne suis pas coboliste, et j'ai connu des systèmes avec bug de l'an 2000 avec 0 (zéro) COBOL dedans.
Le 18/07/2025 à 11h15
Mais bon, c'est plutôt un système qui "a été pérenne" , comme il le souligne, il manque quelque chose de crucial: des personnes qui maitrisent les systèmes... Sans cela, tous les systèmes COBOL actuels vont devenir très rapidement obsolètes :/
Dommage que les jeunes dev ne s'intéressent pas à ce langage, à mon avis, c'est un secteur où l'on doit bien gagner sa vie en tant que consultant
Le 18/07/2025 à 13h33
Le 30/12/2025 à 17h07
Le 30/12/2025 à 19h36
Pour un job débutant, même en COBOL, le salaire n'est pas folichon (à partir de 1600€/mois net). Pour un développeur expérimenté (toujours en salariat), c'est beaucoup plus (plus de 3600€/mois net mini). Et je ne parle même pas des consultants...
Cf. https://www.hellowork.com/fr-fr/salaires/developpeur-cobol.html
Le 18/07/2025 à 11h45
Merci
Le 18/07/2025 à 11h45
Le 18/07/2025 à 13h49
Le 18/07/2025 à 15h54
Le 18/07/2025 à 12h28
Le 18/07/2025 à 13h08
Les SI maîtrisés sont plus une exception qu'une norme de mon expérience.
Le 18/07/2025 à 13h37
Là on sent vraiment le développeur qui est resté coincé dans les années 90 et qui n'a pas la moindre idée de ce qui se fait aujourd'hui. Les GAFAM traitent des volumes de données qui n'ont rien à envier aux banques, et pourtant aucun n'utilise Cobol.
Le 18/07/2025 à 14h30
Perso ca m'embêterait que mon Livret A retombe à 0 à cause d'un problème de double commit au moment où Cloudflare est tombé à cause d'AWS qui a perdu une région.
Si j'ai bien compris, le COBOL arrive avec son écosystème réfléchi depuis le transistor, jusqu'à la ligne de code fonctionnelle spécifique "informatique de gestion". A la fin, on a quelque chose d'assez limité, mais très performant.
Java... mais pourquoi...
Le 18/07/2025 à 16h04
Tu aurais vu quel langage concurrent?
Le 18/07/2025 à 23h20
Je ne comprend pas qu'on utilise pas plus ce langage.
Le 23/07/2025 à 10h16
J'ai jamais compris l'avantage de Java alors que des langages bien plus stables, élégants et frugaux comme l'ADA existent
Le 18/07/2025 à 23h45
Aussi, dans le pratique à déployer, tu inclus le tomcat ou le jboss à installer, configurer et maintenir? Au mieux, rien de tout ca, mais il faut forcement un bout de code en shell pour lancer le jar avec les what-millards d'option de la jvm...
maintenu: comme quasiment tout les langages que tu cites.
portable: dans le cas présent, osef complet, il faut que ca tourne sur du x86_64 avec un OS bien défini, au pif, un Linux. Rien de bien compliqué à faire avec les autres langages.
cadré: C'est à dire? mettre un Xmx à 8Go pour un hello world pcq on veut être sure que ca plante pas? Et puis le Xms aussi comme ca on va gagner de la perf. Effectivement, c'est bien cadré. Ou bien galérer pour simplement envoyer des logs au format standard de l'OS.
qui consomme peu de ressources: arrivé à ce point là, je me demande si ton message n'était pas sur un ton humoristique que j'aurai raté. Lancer des VM avec de la RAM à gogo ou surdimensionner des pods pcq il faut faire tourner du java dedans. Les latences induites par le GC... Sincèrement, autant les autres points que tu donnes, y a débat. Mais sur celui de la perf, désolé mais c'est vraiment mauvais, ou tellement complexe que personne n'arrive à sortir du code performant.
et sur lequel on a facile à trouver de la main d'oeuvre: de la bonne main d'oeuvre?
Tu l'auras peut-être compris, je suis admin système. Et franchement le java, c'est vraiment la pire invention du 20ème siècle en informatique. Comme tu le dis, l'avantage, pour les sociétés, c'est de pouvoir en recruter à la pelle. Mais ca n'en fait absolument pas, à mon sens, un bon langage pour autant.
Je ne sais pas si tu l'as oublié volontairement ou pas: Golang?
Le 19/07/2025 à 09h08
Oui, je préfère ces langages, mais ils sont difficilement recommandables ...
La cross compilation, c'est inférieur à la portabilité de l'exécutable Java je trouve.
Et je suis totalement en désaccord sur Java: Java n'est pas la pire invention, loin de là. La base est saine, les JVM m'ont rarement posé de problème (on en choisit une, opensource de pref maintenant), le langage a évolué un peu lentement mais il est pas mal, un peu plus sûr que C#.
Le GC sur un soft correctement écrit, c'est pas un problème, et j'ai fait du Java sur 8Mo de RAM - le problème n'est pas le langage ou la JVM, c'est les libs que certains utilisent (tu es admin, mais est-ce que les devs ont consciences du nombre de copie en RAM des données que leurs bilbiothèques imposent - dont certaines sont depuis longtemps peu utiles face à des concepts intégrés dans la lib ou le langage ?)
Il a fait ses preuves dans l'embarqué comme dans les gros systèmes.
Par maintenu et cadré je parlais surtout de l'évolution des JVM et du langage.
Modifié le 19/07/2025 à 09h22
La cross compilation, c'est inférieur à la portabilité de l'exécutable Java je trouve (sauf cas très liés aux perfs)
Et je suis totalement en désaccord sur Java: Java n'est pas la pire invention, loin de là. La base est saine, les JVM m'ont rarement posé de problème (on en choisit une, opensource de pref maintenant), le langage a évolué un peu lentement mais il est pas mal, un peu plus sûr que C#.
La question de la licence dépend des choix de l'entreprise: si elle a choisi Oracle, elle est certainement ouverte niveau licence (tous les éditeurs ont leur modèle un peu "openbar")
Le GC sur un soft correctement écrit, c'est pas un problème, et j'ai fait du Java sur 8Mo de RAM - le problème n'est pas le langage ou la JVM, c'est les libs que certains utilisent (tu es admin, tu subis, mais est-ce que les devs ont consciences du nombre de copie en RAM des données que leurs bilbiothèques imposent - dont certaines sont depuis longtemps peu utiles face à des concepts intégrés dans la lib ou le langage ?)
Il a fait ses preuves dans l'embarqué comme dans les gros systèmes.
Par maintenu et cadré je parlais surtout de l'évolution des JVM et du langage.
Le 25/07/2025 à 09h20
Bon pour Java ça va un peu loin. Go a aussi des gros défauts. Tous les langages ont leur bons cotés et leurs défauts. Pour le GC, un petit log perso :
2025-07-18 11:14:36.546 [ LOG ] Heap size: 104Mo. Free memory before GC: 27Mo / Free memory after GC: 51Mo. Memory reclaimed : 24Mo. Execution time :35ms
En dessous de 100ms on ne voit rien pour la plupart des applis. Alors ça c'est un cas spécifique. Imaginons un "billing". Même si on le lance toutes les 5 minutes et de perdre 10 secondes, ça va pas tuer la perf. Même pour de plus grosses voilures en termes de RAM.
C'est comme partout : Il y a des bons vélos pour la course, des VTTs et des vélos pourris. Mais aussi des bons coureurs (les bons programmeurs/dev) et des mauvais (les quiches). Donc une quiche sur un bon vélo pro, ça cassera pas des briques.
Faut vivre avec.
Le 19/07/2025 à 12h46
Le 18/07/2025 à 14h34
Le 18/07/2025 à 22h13
Le 18/07/2025 à 23h50
Alors que si un matin, ton livret A est passé à 0, c'est plus la même histoire :)
Le 19/07/2025 à 09h47
Le 19/07/2025 à 10h44
Ce n'est effectivement pas comparable du tout en terme de criticité.
Modifié le 21/07/2025 à 12h31
Le 21/07/2025 à 16h01
Le 18/07/2025 à 15h09
Je précise que je ne connais pas le COBOL mais que j’ai été Scrum Master d’une équipe de COBOListe.
L’explication sur les nombre a virgule flottante n’est pas très claire je trouve.
Dans la plus part des langages utilise une forme «compressé» des nombres (signe × mantisse × base^exposant). Ça permet de couvrir une plus large plage de chiffre, aussi bien dans le négatif que positif. Le soucis avec cette «compression» c’est qu’elle peut entrainer des arrondis, surtout quand on mix des grand et petits chiffres. Genre «0,999 + 0,0008 = 1,000»
Le COBOL ne souffre pas de se soucis vu qu’il est a virgule fixe (entier + décimale) où chaque partie est codé séparément. Les calculs sont donc exact tant que l’on reste dans leur plage de codage. Au delà (division, fraction, … ) les règles d’arrondis sont connus et donc gérable par divers moyen.
Sur la capacité de traitement du COBOL c’est en effet assez impressionnant, mais la machine qui fait tourné ça est tout aussi impressionnant. Le fait que IBM soit quasiment l’unique dealer de ce genre de machine, fait que toute la chaine (logiciel + matériel) est super optimisé. C’est pas pour rien que les contrats d’utilisation de ces machines se fait traditionnellement a l’occupation CPU. Oui
Après le service après vente, n’a rien a voir. Tu peux tout a fait voir débarqué un tech IBM pour changer un CPU A CHAUD, la machine ne devant jamais s’arrêter. Les record d’uptime étant souvent trusté par ce genre de machine.
Sur le coté migration par «Scrum», je ne suis pas d’accord avec l’analyse des intervenant. Le but n’est jamais de remplacé «isoBug» un programme COBOL, mais souvent le découper et le remplacer petit a petit, en rénovant ses règles de gestions, souvent perdu et exclusivement dans le code je suis d’accord.
Coté recrutement, avoir une compétence COBOL / Java c’est un ticket en or et s’assurer de bosser à vie. Se mettre en indépendant est la meilleur solution pour en tirer un maximum.
Dans la boite où j’ai officié, tous les dev COBOL de France se voyait proposer un poste, ou au pire une mission. Les grosse ESN qui avait encore ce genre de profil se frottaient les mains et saignait le client sur le TJM.
Sinon ils avaient trouver une solution, peu satisfaisante, mais mieux que rien. Ils ont démarché une école à Rabat en leur proposant de monté une option COBOL en fin de cycle et de recruter tous ceux qui en sortaient. Ça attirait pas les foules, mais pour tout ceux qui voulait s’assurer un job et rembourser leur prêt étudiant rapidement, ça faisait l’affaire. Bon coté «turn over» ils avaient du mal a garder des gens plus de 2 ans. Mais au moins ça leur permettait de palier à leur besoin.
Le 18/07/2025 à 15h57
Les règles de calcul comptables impliquent des calculs à virgule fixe et parfois des arrondis particuliers.
Car 10.21*18.6 n'est pas égal à 189,906 si on se limite à 2 chiffres: c'est soit 189,91 (arrondi au plus proche) soit 189,90 (arrondi "bancaire" au pair le plus proche)
Dire que IBM est le seul est une méconnaissance du domaine. En fait les x86 sont des CISC parce qu'ils ont notamment des instructions pour le calcul BCD (binaire codé décimal).
Pourquoi le cobol? Parce que c'est l'un des seuls langages de haut niveau qui ont intégré ce type de notion au coeur du système (et pas avec une librairie - même standard comme BigDecimal dans Java)
SQL le prend en compte AUSSI (mais avec moins de subtilité sur les arrondis).
Sans ce support, le nombre d'opérations pour le calcul est décuplé.
C'est le même cas avec Fortan, parfaitement à l'aise avec les nombres à virgule, quand on fait la même chose en C ou pire - en python, le nombre d'opérations est horrible (notamment concernant les comparaisons et la gestion des 0 et epsilons)
En informatique, les langages les plus récents ont tendance à améliorer la productivité globale en complexifiant les tâches pointues.
Et le calcul à virgule est un sujet très mal compris (et de plus en plus mal il semblerait vu les erreurs de conception des langages "modernes" que sont JS et Python - qui lui a été potentiellement corrigé) - presque autant que la gestion de mémoire.
Par contre je ne sais pas si COBOL a suivi sur les 2 autres gros domaines: la gestion des chaînes de caractères et des caractères spéciaux et la gestion des dates...
Le 18/07/2025 à 17h13
Exemple avec un facteur d'échelle 2:
Le CPU voit la valeur 1453, mais elle signifie 14.53
Le 18/07/2025 à 18h47
Et oui, avec des entiers 64 bits on a une bonne façon de stocker des grands nombres.
Mais cela ne résout pas la question du support correct par le langage: il faut se farcir les différentes opérations et les ajustements en conséquence (notamment les arrondis).
Je plaidoyais surtout pour le côté dev.
Le 18/07/2025 à 18h48
Le 19/07/2025 à 03h16
On est tous ravis de disposer d'une bonne documentation, et personne ne veut la produire.
La contradiction avec la citation précédente est flagrante.
En ayant cet état d'esprit, on entretient le problème ! C'est fou à quel point cette mentalité est impossible à remettre en question, quand bien même leurs défenseurs ont parfaitement conscience du problème et de ses conséquences ! Le déni. La folie.
Considérer que "la documentation est le code" est un foutu caprice de développeur égoïste, qui n'a en plus généralement pas grand chose à carrer des règles métier qu'il sera à la fois incapable et non-volontaire de produire.
Exigeons du métier la documentation du cahier des charge/des attentes & de l'architecture fonctionnelle.
Exigeons de l'infrastructure la documentation de l'architecture matérielle, des systèmes & du réseau.
Exigeons des développeurs la documentation de l'architecture logicielle ainsi que du code.
L'argument du coût de maintien en conditions opérationnelles pour conserver du COBOL me laisse dubitatif. Les sources de matériel, les sources de systèmes, ainsi que les sources de main d’œuvre sont toutes limitées.
À ne regarder que le portefeuille, on ne gère pas le risque. Lorsque les coûts exploseront, il sera trop tard.
À moins que les coûts ne soient bricolés pour cacher l'inéluctable…
La volonté de sortir du COBOL ne résulte pas forcément du jeunisme.
D'ailleurs la personne doit se tromper de mot en employant "passéiste", qui est ici un contresens : je renvoie à sa définition.
Les langages plus modernes permettent surtout une architecture modulaire (attention : ce n'est pas automatique, mais doit résulter d'un véritable travail d'architectures !).
La transition si "coûteuse" n'est que la résultante de l'adressage d'un monolithe : effectuant tout ou rien, difficile de basculer progressivement sur des modules réécrits/reconçus… car le découpage en ces modules n'existent pas dans la version d'origine !
COBOL en tant que langage est un générateur de monolithes.
Argument classique de personnes technique adressant le problème comme étant technique.
C'est une composante du problème du technologisme.
Le problème de la maintenabilité est stratégique, par gestion des risques et brassage/découpage/assignation des responsabilités.
Modifié le 21/07/2025 à 17h12
Pas d'accord. Ce n'est pas un foutu caprice de développeur égoïste, c'est une réponse pragmatique à une situation impossible. Avoir une documentation à part à jour, cela signifie que TOUS les développeurs jouent le jeu, et connaisse la documentation sur le bout des doigts pour savoir ce qui doit être modifié et quand. Plus les équipes et les projets grandissent, moins c'est réalisable.
L'avantage de considérer le code comme la doc, c'est que le code c'est effectivement ce qui est exécuté. Quand ton programme ça fait 30 ans qu'il s'exécute et que les utilisateurs n'ont pas relevé d'objection, c'est lui qui fait autorité de facto.
Qui plus est, les bons tests unitaires (unitaire = fonctionnalité, et pas forcément une classe ou une méthode, , on trouve beaucoup de connerie à ce sujet) décrivent avec des mots ce que le code est censé faire et décrire ainsi les règles métiers. Couplé avec une méthodologie comme le TDD (qui permet de décrire ce que l'on veut avant de l'implémenter), et surtout l'automatisation des tests, on s'assure de manière quasi-certaine que les règles métiers sont correctement décrites ET qu'elles sont correctement implémentées.
Remplacer pour le plaisir de remplacer n'a pas de sens non plus. Ce n'est pas qu'une réponse d'ordre technique. Refaire, c'est prendre un risque. Quand le risque n'a pas de conséquence, il est prenable. Quand tu es dans la finance, un bogue, et cela peut coûter des milliards (de dollars, d'euros, ou autre).
La question de la maintenabilité recouvre deux aspects orthogonaux :
Le premier point est assez difficile à évaluer, surtout vue de l'extérieur. Il y a toutefois une métrique qui a tendance à ne pas tromper : celles du nombre de nouvelles fonctionnalités sans introduire de nouveaux bogues. Généralement, dans la finance, je crois qu'on peut considérer qu'ils ne sont pas trop mal vu l'âge des systèmes qui se compte en décennie.
Le 2e est à répondre par l'affirmatif aussi dans le cadre de COBOL.
C'est sur le 3e point généralement que cela pèche avec COBOL. Par "chance", ce n'est qu'un "problème" de formation. La plupart des entreprises externalisent ce genre de compétence. A elles de les interner, voire de fournir les formations nécessaires si besoin. Il y a plein de domaines pointus où la compétence n'existe quasiment pas et il faut le faire via de la formation.
Au delà de l'aspect risque, il y a l'aspect coût de dev (juste pour refaire). Quand tu as un programme qui fait des millions de lignes de code, tu ne le refais pas en 3 mois. Personnellement, j'ai bien envie de voir ce que va donner le programme lancé par Musk aux USA, où il voulait justement se débarrasser de COBOL en 6 mois. Il a pris le problème de la maintenabilité sans se soucier de la gestion des risques.
Au niveau gestion des risques, il y a également le 2e point à prendre en compte. Paradoxalement, c'est, de mon point de vue personnel, le point le plus problématique dans le cadre de COBOL. Il n'y a pas pléthore d'outils et de plateformes supportées et la (sur)vie de COBOL dépend principalement des orientations d'une seule entreprise. Pour moi, c'est ça le risque numéro 1 (surtout dans le contexte actuel, qu'est-ce qui se passe si l'Agent Orange ordonne à IBM d'arrêter de vendre son matos en Europe ?)
Le 19/07/2025 à 12h30
Et 2 parce que le monde entier dans le sens de toute la planète qui va se rebiffer. Et plus particulièrement parce que les "marchés" (les bourses) doivent fonctionner et s'interconnecter. Le brushing spatial ne fait pas le poids.
Ce genre de pratique; on a vu ce que cela donne avec les chinois qui se dotent de quoi fabriquer leur propres puces maintenant et peut être aussi avec l'Europe qui emboite dans la même direction mais plus "softement". Hello RISC-V...
Le 19/07/2025 à 15h05
Le point était surtout pour dire que cela pouvait changer du jour au lendemain. J'ai parlé de Trump, mais cela pourrait être un changement de stratégie, un rachat, ou que sais-je encore.
Le 19/07/2025 à 19h51
Perso, je ne parierai pas sur une décision raisonnable d'un personnage aussi aléatoire.
Le 19/07/2025 à 21h39
Pour une action sur IBM; là cela représentent des montants tellement colossaux qu'il n'aurait pas le temps de finir la phrase. Ça concerne toutes les banques et le assurances du monde entier sans parler des "grosse boites" et des salles de trading.
On a tué des président pour bien bien moins que cela.
Le 20/07/2025 à 08h50
Le 20/07/2025 à 17h23
On finit indubitablement avec une carto des éléments de l'appli et des principales fonctionnalités sans entrer dans le détail.
Si seulement il etait possible de sortir du sacro-saint word/excel pour la doc. En bancaire,j'ai bien connu un projet où on l'associait au code mais cela demande de la bonne coordination entre les intervenants techniques et fonctionnels, maisc'etait l'exception.
Le 20/07/2025 à 21h54
Modifié le 21/07/2025 à 10h44
Je mets word/confluence sur le même niveau de mauvais outil.
Modifié le 23/07/2025 à 10h29
Et j'ajouterai même une précision qui manque à 99% des docs sur du legacy que j'ai pu lire : que la documentation doive comporter la justification des choix techniques fait au moement du développement du projet et qu'ils soient explicités (exemple: choix de la techno X car budget restreint/l'équipe de dev n'était familière qu'avec cette techno/contrainte temporelle etc...). Cette justification explicitée permet des décennies plus tard de voir si la contrainte tient toujours et d'ajuster les évolutions si nécessaire.
In fine ce n'est pas le COBOL le problème, mais plutôt le manque de production (ou de conservation parfois) de documentation d'architecture et d'intention sur les projets développés à l'époque dans ce langage.
Le 21/07/2025 à 15h11
Particulièrement sous prétexte que les gens ont pas fait de la documentation et qu'on ne fait pas l'effort de former des gens.
C'est quand même nettement moins cher et moins chronophage de se sortir les doigts sur ses deux points que de tout reprendre depuis le début un peu partout.
Qui plus est en poussant l'image pour aller s'embourber dans du Java qui dans 30 ans sera éventuellement passé de mode pour X ou Y raisons. Mode: "Java c'est trop vieux! Et hop! On recommence tout!" (Oui, toujours en grossissant le trait.)
If it ain't broken, don't fix it. COBOL fait très bien ce pour quoi il est conçu, là où il est déployé, Juste foutons-lui la paix.
Pas la peine de vouloir réinventer le balai d'essuie-glaces sous prétexte qu'on sait faire des voitures électriques.
Le 24/07/2025 à 16h47
Modifié le 23/07/2025 à 10h30
Le 24/07/2025 à 19h21
Le 30/12/2025 à 23h16
Le 27/07/2025 à 11h25
pour le coup Java risque de mourir largement avant Cobol... (c'est pas déjà mort d'ailleurs ?)
Java me semble le pire choix pour remplacer un mainframe : mauvaise gestion du CPU, de la mémoire...Et problématique de licence avec Oracle qui fait nimp.
Tu paies cher la simplicité relative du langage, et te retrouves avec des impossibilités dés que tu pousses les curseurs plus loin qu'une simple IHM...
Bon on va pouvoir recycler les développeur ABAP de SAP : la syntaxe verbueuse est très similaire, le côté imbrication de
tas de m...spaghetti de code est le même. ABAP utilise aussi des PACK pour gérer proprement les arrondis de comptabilité...Et SAP (l'éditeur) pousse leeeeentement les devs vers la base de données in-memory (la plupart des logiques peuvent être portées directement par des CDS view). Même si 3/4 des projets de migration vers Hana ont une grosse partie "on ne s'est pas comment ça marche : on reprend le code ABAP tel-quel". (tient encore un point commu avec Cobol
Le 30/12/2025 à 21h55
Notez que le système z des mainframes IBM s'est progressivement ouvert à Linux, Java, au C... On peut même traiter un fichier Windows en batch...
Le 31/12/2025 à 02h25
Le 31/12/2025 à 12h04
Des binaires des années 70 ou 80 qui tournaient sur du MVS tournent encore sur du z/OS en 2025 sans avoir besoin d'être recompilés
Demandez aux banques, aux caisses de retraite à EDF ou certaines compagnies d'assurance.
Il y a parfois des cas ou il y a besoin de recompiler certains programmes à cause de programmes ma écrits ( genre le mec qui teste les return codes 1 par 1 sans penser que 20 ans plus tard il y a un nouveau return code pas prévu qui fout la M.... alors qu s'il avait mis un "else" le rpogramme tounrnerait encore
Les plus vieilles compatibilité que j'ai vues étaient de 1964 ( on nous avait appellé car les sources étaient perdues et on a du "décompiler' le langage machine pour savoir ce qu'il se passait.)
Modifié le 31/12/2025 à 19h00
Mais le COBOL, en soi, c'est pas un cadeau !
Ce doit être un article pour les codeurs pas sages de l'année
En 98, je préférais de loin les TP d'ADA que j'alternais aux TP de Cobol. Tous les potes qui se sont fait embaucher passé le stage de fin d'étude pour pisser du Cobol en vue du bug de l'an 2000 se sont retrouvés à la flotte après le 11/09/2001. Il valait mieux poursuivre ses études pour être mieux armé. Vers 2007, j'ai reçu en face de moi un candidat au chômage depuis 2 ans, niveau Directeur de Projet de 22 ans d'expérience, qui avait 3 pages de CV d'expérience COBOL / DB2 !
3 fois mon expérience pro de l'époque et pure tronche sur sa spécialité mais incasable, le pauvre
Ceci dit, merci pour la séquence nostalgie. Article un peu prosélyte mais hyper intéressant.
L'année prochaine, faite un truc sur l'ABAP iv de SAP : c'est le pire du Cobol mélangé au pire du C
Le 2 janvier à 09h27
De plus, la trace des processus historiques, la mémoire des métiers transcrite dans le code est une source de conaissance très enrichissante.
Le 24 février à 16h11
Le 4 janvier à 19h03
Une bibliothèque Rust permet de faire des calculs à décimales fixes.
Concernant l'aspect "un langage vivant", bon : va falloir me convaincre en me parlant des évolutions prévues du langage, de la vie de ses compilateurs, de leur compatibilité avec le matériel existant, notamment des architectures modernes et non-exclusivement propriétaires…
J'ai l'impression que ça sort des excuses à tout va pour tenter un "circulez, il n'y a rien à voir" concernant une vieillerie à laquelle on s'accroche par justification exclusivement historique.
Signaler un commentaire
Voulez-vous vraiment signaler ce commentaire ?