Je suis un développeur professionnel et je programme toujours en COBOL

Le langage COBOL est devenu un casse-tête, mais IBM a la solution : un traducteur IA

Ils veulent retirer le langage de programmation COBOL. La vérité est qu’il est presque assez ancien (il a été créé en 1959, il y a 64 ans), mais sa présence sur le marché informatique est aussi surprenante que, selon les entreprises, inconfortable : il n’y a plus beaucoup de professionnels capables de programmer en ce langage, IBM a donc décidé de prendre une autre voie : le traduire en Java.

Vivace. Vous, les jeunes, n’avez peut-être pas entendu parler du langage de programmation COBOL (Common Business Oriented Language), mais c’est l’un des plus anciens et, étonnamment, l’un des plus résistants. Une enquête de 2022 a révélé qu’il existe encore 800 milliards de lignes de code COBOL dans les environnements de production destinés à tous les types d’entreprises, et ce qui est curieux, c’est que ce nombre a remarquablement augmenté depuis 2017, où l’on estimait qu’il y avait 220 milliards de lignes.

une langue difficile. Le problème, bien sûr, c’est que les années pèsent lourdement et que le langage est inefficace pour cette époque. Les entreprises qui continuent à l’utiliser ont réalisé des processus de migration lorsqu’elles le pouvaient – la Banque d’Australie a mis 5 ans et a investi 700 millions de dollars dans l’un de ces processus – mais il y a des projets si gigantesques qu’il a été impossible de les adapter jusqu’à maintenant. Le ministère américain de la Défense tente depuis des années de faire de même avec son système de gestion MOCAS : lorsqu’il a commencé à être utilisé, il n’utilisait même pas d’écran et de clavier, mais plutôt des cartes perforées.

Du COBOL à Java. Comme indiqué dans TechCrunch, la société IBM a récemment annoncé Code Assistant pour IBM Z, une plateforme qui utilise un modèle d’IA génératif capable de traduire COBOL pour le convertir en code Java. Il devrait être disponible au quatrième trimestre 2023 et est présenté comme une option prometteuse lorsqu’il s’agit de remplacer les projets vétérans basés sur ce langage pour les adapter aux nouveaux temps sur les mainframes où ces applications s’exécutent habituellement.

CodeNet. C’est le nom du modèle de génération de code qui comprend non seulement COBOL et Java, mais également 80 autres langages de programmation différents qui lui permettent d’être utilisé dans d’autres types de scénarios. Selon les responsables d’IBM, ce système est capable de maintenir à la fois les performances et la sécurité de l’application d’origine. Le modèle a été formé avec 1,5 billion de jetons et comporte 20 milliards de paramètres. Il accepte également des fenêtres contextuelles pouvant contenir jusqu’à 32 000 jetons, ce qui permet de saisir de longues portions de code COBOL qui seront ensuite traduites.

Une évolution des précédents « traducteurs ». Ruchir Puri, scientifique en chef chez IBM Research, a expliqué que bien que des traducteurs COBOL vers Java existent déjà, Code Assistant est supérieur en évitant de sacrifier certains des avantages fournis par COBOL et produit un code facile à maintenir, ce qui semble être le cas. non disponible, donc clair dans les produits concurrents. En fait, il est capable de fournir un résultat mitigé combinant Java avec des sections de code COBOL plus anciennes qui sont encore exploitables si elles s’avèrent utiles pour la plate-forme localisée.

Mais tu dois vérifier ce code. Une étude récente de Stanford a indiqué que ces types d’outils peuvent introduire des vulnérabilités dans le code, ce que Puri admet également. Néanmoins, précise-t-il, « il est essentiel que le code soit analysé avec des scanners de vulnérabilités de pointe pour garantir la sécurité du code ».

Un marché à exploiter. Aujourd’hui, 84 % des clients utilisant des mainframes IBM exécutent des applications COBOL dans des segments tels que la finance et le gouvernement. Cette division commerciale est toujours cruciale pour IBM, mais comme l’indique TechCrunch, l’entreprise tente d’en faire une passerelle pour sa division la plus lucrative, celle des environnements informatiques hybrides (y compris le cloud) que l’entreprise promeut depuis des années.