El lenguaje de programación COBOL está en camino de ser retirado. A pesar de haber sido creado hace casi 64 años en 1959, su persistencia en el sector de la informática resulta notable y, en ciertos casos, problemática para algunas empresas.
Llevando COBOL a Java
La escasez de profesionales capacitados para programar en COBOL ha llevado a IBM a explorar una nueva estrategia: la traducción de COBOL a Java.
Es posible que para los más jóvenes el término “COBOL” (Common Business Oriented Language) sea desconocido, sin embargo, se trata de uno de los lenguajes más antiguos y, sorprendentemente, uno de los más resilientes.
Según una encuesta realizada en 2022, aún existen 800.000 millones de líneas de código COBOL en entornos de producción, brindando sus servicios a empresas de diversos sectores. Lo curioso es que este número ha experimentado un marcado incremento desde 2017, cuando se estimaba la presencia de 220.000 millones de líneas.
Desafíos de un lenguaje arraigado. No obstante, los años han dejado su huella y el lenguaje no se adapta eficientemente a las demandas actuales. Las empresas que siguen empleando COBOL han realizado migraciones en cuanto han tenido la oportunidad.
Por ejemplo, el Banco de Australia invirtió cinco años y $700 millones de dólares en uno de estos procesos. No obstante, algunos proyectos monumentales han resultado tan complejos que su adaptación ha resultado hasta ahora insuperable.
Un ejemplo es el Departamento de Defensa de los Estados Unidos, que lleva años intentando modernizar su sistema de gestión MOCAS, el cual se implementó en una época en la que no se utilizaban pantallas ni teclados, sino tarjetas perforadas.
La inteligencia artificial al servicio de todos
En un reciente anuncio de IBM, se presenta el Code Assistant for IBM Z, una innovadora plataforma que hace uso de un modelo generativo de inteligencia artificial. Su función principal es la traducción de COBOL para convertirlo en código Java.
Esta herramienta tiene previsto su lanzamiento en el último trimestre de 2023 y se perfila como una solución prometedora para la actualización de proyectos de larga trayectoria, previamente basados en COBOL, de modo que puedan adecuarse a los requerimientos contemporáneos en los entornos mainframe, donde dichas aplicaciones habitualmente se ejecutan.
El nombre que recibe este modelo de generación de código no es otro que CodeNet. Su versatilidad va más allá de la comprensión de COBOL y Java, abarcando en total más de 80 lenguajes de programación distintos, lo que lo hace adecuado para diversos contextos de implementación.
De acuerdo con los expertos de IBM, este sistema posee la capacidad de preservar tanto el rendimiento como la seguridad inherente a la aplicación original. Para su entrenamiento, se emplearon 1,5 billones de tokens, dando lugar a una arquitectura con 20.000 millones de parámetros.
Además, es capaz de considerar ventanas de contexto con hasta 32.000 tokens, lo que posibilita la traducción de porciones extensas de código COBOL.
Una evolución más allá de los “traductores” previos: Según las palabras de Ruchir Puri, el principal científico en IBM Research, a pesar de la existencia previa de herramientas para traducir COBOL a Java, Code Assistant marca un paso adelante al evitar los compromisos que antes eran inevitables.
Code Assistant, una solución a este problema
Esta nueva solución logra preservar las ventajas distintivas de COBOL y, a su vez, genera código de mantenimiento sencillo. Esta característica resulta particularmente destacable ya que, al parecer, no se manifiesta con igual claridad en las propuestas competitivas.
En realidad, Code Assistant puede ofrecer un resultado híbrido que fusiona el potencial de Java con secciones más antiguas de código COBOL, las cuales pueden seguir siendo aprovechadas en caso de considerarse pertinentes para la plataforma de destino.
Sin embargo, la necesidad de revisar dicho código se hace evidente. Un estudio reciente realizado por Stanford reveló que este tipo de herramientas podrían introducir vulnerabilidades en el código, un aspecto que Puri también reconoce. No obstante, enfatiza que “es imperativo analizar el código utilizando las últimas soluciones de escaneo de vulnerabilidades para garantizar su seguridad”.
Un mercado lleno de oportunidades por aprovechar. En la actualidad, un asombroso 84% de los clientes que emplean los mainframes de IBM ejecutan aplicaciones COBOL en áreas como las finanzas y el sector gubernamental.
Aunque esta vertiente de negocio sigue siendo fundamental para IBM, como señala TechCrunch, la compañía está en busca de transformarla en un puente hacia su división más lucrativa: la esfera de la computación híbrida, que incluye soluciones en la nube y que la empresa ha estado impulsando durante años.