L’IA relève le défi avec COBOL

Du Connecticut à la Californie, les États à travers le pays ont désespérément besoin de programmeurs COBOL (Common Business-Oriented Language). Lorsque le déluge de demandes de chômage liées aux coronavirus a commencé à affluer au début de la pandémie, de nombreux systèmes informatiques gouvernementaux vieux de plusieurs décennies chargés de traiter ces demandes ont eu du mal et, dans de nombreux cas, se sont écrasés.

Steve Brothers est président de Phase Change.

Avec près de 17 millions de demandes de chômage déposées entre le 15 mars et le 4 avril 2020, le volume exceptionnellement important de trafic et le nombre de demandes que les systèmes de chômage des États-Unis ont connus ont mis une myriade d’États derrière la proverbiale huit balles car ils n’ont pas les ressources pour les entretenir. Par conséquent, la crise mondiale a poussé de nombreux gouvernements d’États à se démener à la recherche de codeurs qui maîtrisent le COBOL.

Bien qu’il soit l’un des plus anciens de tous les langages de programmation, les compétences en COBOL restent très demandées. De nombreux États utilisent des systèmes qui fonctionnent encore sur des ordinateurs centraux plus anciens et nécessitent des programmeurs compétents en COBOL pour apporter des modifications aux programmes existants.

Le challenge COBOL est-il vraiment une pénurie de compétences ?

Le challenge COBOL est-il vraiment une pénurie de compétences ?

Une partie du défi, cependant, est que les programmeurs familiers avec le langage informatique vieux de 60 ans peuvent être difficiles à trouver parce que les personnes qui ont écrit toutes les milliards de lignes de code qui exécutent encore ces applications critiques sont soit en train de vieillir la main-d’œuvre ou opter pour un nouveau cheminement de carrière. De plus, COBOL n’est pas très connu des développeurs de logiciels modernes, car seul un nombre décroissant d’universités continue d’enseigner la langue dans le cadre de leur programme d’études en informatique.

Étant donné que le défi est souvent considéré uniquement comme une pénurie de compétences, les organisations de tous les secteurs investissent considérablement dans l’embauche de jeunes développeurs et leur apprennent à écrire COBOL avant de leur confier l’évolution des systèmes d’entreprise. En raison de l’indisponibilité des compétences COBOL à l’avenir, les gouvernements des États et les entreprises du secteur privé modernisent maintenant leurs systèmes car ils pensent que cela réduit les risques. Cependant, la maintenance et l’amélioration des applications critiques obligent les équipes logicielles à s’appuyer sur le nombre décroissant de développeurs de logiciels qui ont développé une compréhension experte des programmes, des changements et des défis grâce à des années d’expérience – et le remplacement de ces connaissances spécialisées lorsqu’elles quittent une organisation peut également introduire un risque important. .

A lire aussi :   Les attaques par frag peuvent faire griller tous vos appareils Wi-Fi

Les développeurs qui découvrent les applications logicielles nécessitent généralement des mois, voire des années, de formation en cours d’emploi pour devenir productifs et compétents. Mais savoir écrire COBOL ne suffit pas, et la langue elle-même n’est pas au cœur du problème. Pour éviter de commettre des erreurs dangereuses qui mettent les systèmes en danger, il est important que les développeurs comprennent ce que fait réellement une application et comment la modification du code dans une partie peut avoir un impact sur l’ensemble du système.

Alors que la pandémie de coronavirus nous a obligés à reconnaître l’importance de la main-d’œuvre COBOL en diminution constante, le défi COBOL s’étend bien au-delà des systèmes de chômage. Un rapport de Reuters de 2017 a révélé qu’il y a encore 220 milliards de lignes de COBOL utilisées aujourd’hui, 95% des transactions ATM utilisent le code COBOL et COBOL est même utilisé pour alimenter 80% des transactions en personne. Plus de 70 % des sociétés Fortune 500, 92 % des plus grands détaillants des États-Unis et plus de 90 % des 100 plus grandes banques du monde ainsi que les 10 plus grandes compagnies d’assurance du monde continuent de s’appuyer sur des systèmes mainframe hérités utilisant COBOL – et de tels systèmes gèrent encore 3 000 milliards de dollars de commerce chaque jour.

Dans de nombreux cas, la modernisation du mainframe est un pansement, pas un remède

Dans de nombreux cas, la modernisation du mainframe est un pansement, pas un remède

Malgré le fait que COBOL était le langage de programmation le plus couramment utilisé pour les mainframes, ces systèmes sont largement devenus démodés car les géants de la technologie mettent l’accent sur l’utilisation du cloud computing pour traiter les données. Les entreprises ont débattu de l’utilisation de ressources informatiques limitées pour migrer les systèmes existants vers le cloud. Et sans financement supplémentaire du gouvernement fédéral, de nombreux États auront du mal à moderniser leurs systèmes existants vers le cloud.

A lire aussi :   Ce téléviseur OLED Philips est votre meilleur choix pour un écran home cinéma à prix raisonnable

Mais la modernisation, même si l’organisation en a les moyens, ne résoudra finalement pas le problème. La modernisation des mainframes n’est tout simplement pas un jeu à somme nulle – elle a souvent un retour sur investissement substantiellement négatif. Malheureusement, s’attaquer au problème COBOL en migrant ne fait que déplacer le vrai problème vers une autre plate-forme, car le problème n’est pas uniquement un problème de compétences – c’est un problème de connaissances qui s’applique également à tous les autres langages de programmation.

Souvent, les projets de modernisation supposent que tout dans une application existante est correct et que les programmeurs peuvent capturer avec précision ses fonctionnalités, mais il y a généralement une quantité importante de code mort et inefficace ainsi que d’anciennes règles métier cachées dans le système. Discerner la véritable intention de la fonctionnalité de l’application n’est pas une mince affaire. Dans de tels scénarios, les développeurs qui ne connaissent pas le système sont réticents à apporter des modifications et déplacent essentiellement beaucoup de saleté d’une plate-forme à une autre.

Même si l’organisation peut retirer certains avantages en déplaçant la « saleté » vers la nouvelle plate-forme, la modernisation ne résout pas tous les problèmes – et cela ne va pas sans risques. Comme c’est le cas pour les langues parlées, le sens risque de se perdre dans la traduction entre les différents langages de programmation. Le système devient progressivement plus obscur et difficile à maintenir, et la charge de travail de développement continue d’augmenter à l’avenir.

Déplacer le problème des connaissances vers une autre plate-forme peut être assez coûteux, alors qu’est-ce que les organisations ont réellement gagné ?

Heureusement, l’intelligence artificielle peut désormais être exploitée pour assurer le bon fonctionnement du code malgré les changements nécessaires et pour combler l’écart de productivité entre les développeurs sortants et les personnes qui les remplacent.

La puissance de l’IA

La puissance de l'IA

Quelle que soit la plate-forme sur laquelle un système s’exécute, la clé pour maintenir un système ou le moderniser est d’identifier avec précision le comportement écrit dans les lignes de code réparties dans tout le système.

Aujourd’hui, les développeurs passent environ les trois quarts de leur temps à rechercher dans le code source pour identifier le code qui représente la fonctionnalité que l’entreprise souhaite modifier ou moderniser. Au lieu de s’appuyer sur des experts en la matière vieillissants pour transmettre ces connaissances spécialisées (une entreprise imparfaite, s’il en est), les organisations avant-gardistes utilisent désormais des outils d’intelligence artificielle avancés pour automatiser l’identification des lignes de code spécifiques qui nécessitent attention – peu importe à quel point ce code est dispersé dans le système.

A lire aussi :   Qu'est-ce que le FLoC & quest; Un regard sur l'alternative de Google aux cookies

Des comportements spécifiques sont souvent imbriqués dans le référentiel de code, les développeurs doivent donc conceptualiser ce que le code fait à chaque étape du processus pour découvrir l’intention des développeurs précédents codés dans le logiciel et révéler le bogue qu’ils cherchent à corriger. Lorsque l’IA connaît à l’avance tous les comportements, ces outils sont positionnés pour collaborer avec le développeur afin de se limiter au code qui doit changer, sans rechercher ni comprendre le code pour accéder aux lignes spécifiques en question. L’IA conceptualise ce que représente le calcul et exploite la vitesse de la machine pour signaler rapidement et efficacement les bogues potentiels aux développeurs, leur permettant d’apporter des modifications en toute confiance que le changement prévu ne brisera pas l’ensemble du système.

Une fois que l’IA a identifié le code représentant un comportement qui doit être modifié, les développeurs “proposent” essentiellement un changement sans compiler ni archiver le code. À partir de là, l’IA peut confirmer si le changement est isolé avant de passer à l’étape suivante : garantir ce comportement ne changera jamais à l’avenir. En ramenant cela aux systèmes de chômage du gouvernement des États, le code qui contrôlait et gérait les données entourant les demandes de chômage aurait pu être identifié rapidement et avec précision à l’aide de l’IA. Les gouvernements feraient bien d’enquêter et d’engager ce type d’IA pour les aider à résoudre des problèmes clairement urgents.

En fin de compte, il est évident que les mainframes ne seront pas remplacés de si tôt. Cependant, l’amélioration de la productivité et de l’efficacité offerte par l’IA en réimaginant le code en concepts est cruciale pour les développeurs qui travaillent à maintenir et à améliorer les systèmes mainframe d’une importance vitale où les volumes de transactions en vrac doivent être traités simultanément. Tirer parti des nouvelles technologies et des outils logiciels peut aider toute organisation à réduire ses risques et à continuer à fonctionner pendant que les nouveaux développeurs se mettent à niveau.

Sources :

Confidentialite - Conditions generales - Contact - Publicites - Plan du site - Sitemap