En mayo de 1959 el Departamento de Defensa de Estados Unidos —cliente por excelencia de las tecnológicas de la época— y algunos fabricantes se pusieron manos a la obra para crear un nuevo lenguaje de programación. Lo llamaron COBOL (Common Business Oriented Language), y lo que no se imaginaban es que 64 años después este lenguaje seguiría dando demasiada guerra.
COBOL se ha convertido en un quebradero de cabeza. El lenguaje ya tiene casi edad de jubilarse, y aunque hay desarrolladores que siguen trabajando con él, cada vez hay menos expertos que puedan gestionar los sistemas que aún están basados en dicha plataforma. De hech oun estudio de 2022 reveló que siguen 800.000 millones de líneas de código de COBOL en entornos de producción, y hay muchas empresas que querrían adaptarlo a lenguajes más modernos.
Los bancos, condenados. Según el IJARSCT, el 43% de todos los sistemas bancarios a nivel global siguen usando COBOL en mayor o menor medida. Ese mismo estudio revela que con él se gestionan tres billones de dólares en transacciones diarias, incluidas el 95% de las transacciones de los cajeros automáticos de EEUU y el 80% de todas las transacciones de las tarjetas de crédito.
Incómodo e inflexible. La programación en COBOL exige escribir mucho y el formato es meticuloso e inflexible, pero es que además tarda más en compilar que sus competidores. Los programadores suelen volcarse en lenguajes más modernos y atractivos —y que les hacen ganar también mucho dinero—, y los pocos programadores con conocimientos de COBOL ya tienen un apelativo muy descriptivo: los 'cowboys de COBOL'.
IBM watsonx, al rescate. En IBM llevan tiempo trabajando en una plataforma de inteligencia artificial llamada watsonx que permite teóricamente convertir el vetutosto código COBOL en código en lenguajes más modernos como Java que permitan a desarrolladores poder trabajar directamente con el resultado.
Pero no es tan fácil. Como revelan en PCMag, Keri Olson, responsable de este proyecto, afirma que watsonx "ayuda [a los clientes] a refactorizar sus aplicaciones". Es decir, las divide en partes más pequeñas que luego el cliente puede elegir para modernizarlas pasándolas de COBOL a Java. Aún así, los propios responsables de IBM afirman que esto "es una herramienta de asistencia al desarrollador. Está asistida por IA, pero sigue necesitando al desarrollador".
Hace parte del trabajo, no todo. En IBM afirman además que watsonx "puede generar el 80 o 90% de lo que necesitan, pero aún así requerirá un par de cambios. Es una mejora para la productividad, no un sustituto del desarrollador".
Los analistas desconfían. En la consultora Gartner no acaban de creerse esas afirmaciones. Arun Chandrasekara, uno de sus analistas veteranos, afirma que "IBM no tiene casos de estudio en este momento que validen esas afirmaciones". Incluso IBM admite que la tecnología es nueva y no ha sido probada, pero mantienen el optimismo.
Imagen | Xataka con Bing Image Creator
En Xataka | Los lenguajes perdidos: COBOL, Delphi o FORTRAN siguen siendo críticos, pero no hay quien programe en ellos
Ver 32 comentarios
32 comentarios
observer_mad
Si el problema fuera traducirlo a un lenguaje moderno... El verdadero problema es la cantidad de pruebas y paralelos que tendrías que hacer durante años, con un ejercito de desarrolladores y testers (y el increíble dineral que eso valdría) para al final ser el valiente que firma, negro sobre blanco, "mañana apago tu core bancario en Cobol, enciendo el Java y no se te va descuadrar ni un céntimo".
Quitar el cobol de los bancos y aseguradoras es el santo grial de la informática empresarial desde hace dos o tres décadas y nadie se atreve, por complejidad y coste.
guillermoelectrico
Si algo funciona, no lo toques.
mitxael
Y no les sale más barato pagar bien a gente joven para que aprenda Cobol y mantenga los sistemas? Que monten una universidad del Cobol con empleo asegurado de por vida. Seguro que es más barato que tirar abajo el core y liarla parda.
Googolplex
IDENTIFICATION DIVISION.
PROGRAM-ID. IDSAMPLE.
ENVIRONMENT DIVISION.
PROCEDURE DIVISION.
DISPLAY 'CHUPEN ESTA'.
STOP RUN.
1coma21gigovatios
Todo para que dentro de unas décadas existan nuevamente los 'cowboys' del Java.
raf_trotam
Usar "inteligencia artificial" para traducir a Java el código COBOL incrustado desde hace décadas en los "core" de bancos y aseguradoras. ¿Qué podría salir mal? Ya pueden hacer muchas pero que muchas pruebas para asegurarse de que funcione y de que lo haga correctamente. Y aun así, no me fiaría mucho. Supongo que al final, si tu sistema es muy crítico (y los "core" de bancos y aseguradoras lo son), no puedes contratar programadores a precio usual de "cárnica". Sea el que sea el lenguaje que se use. Punto. No hay atajos. No estamos hablando de escribir en Java el código de un videojuego para móvil.
t_r_a
no se que listo puede decir que: "tarda más en compilar que sus competidores", desde luego no sabe ni de que está hablando, cobol no tarda mas que sus competidores, y de hecho hay lenguajes que tardan bastante mas que cobol, salvo los interpretados puros claro, y ya que cambiamos de cobol, no podría ser a otra cosa que no sea java, por dios, si cada vez se utiliza menos y no es desde luego el lenguaje mas rápido en ejecución, claro que IBM es verdad que en los mainframes i minis tiene su máquina virtual para java, así se asegura que funcionarían todos los programas en sus máquinas mas potentes
pinquero
100.000 transacciones en COBOL = 5 minutos
100.000 transacciones en JAVA con mismo hardware = 6 horas
Nasete
¿Cual es el objetivo de pasar COBOL a Java? Huir de los costes del hierro sobre el que corre? No creo que IBM esté interesada en liberar a sus clientes de mainframe.
Si es cuestión de flexibilidad de infraestructura, para eso está la nube y la migración de cargas COBOL de mainframe a la nube ya está resuelta (Gravity y Dual Run).
toni2
Pasar algo grande de cobol a java únicamente sería factible si tuvieras un intérprete de cobol sobre java, y paulatinamente pudieras ir pasando código de cobol a java, y que funcionaran las llamadas entre cobol y java.
Cambiar un sistema entero, de golpe, es imposible.
Usuario desactivado
Java es el lenguaje más odioso que existe.