
COBOL es el acrónimo de "Common Business-Oriented Language", este lenguaje de programación ha sido un pilar clave en el mundo de la computación desde su creación a finales de los años 50 y sigue vigente al día de hoy en el 2025.
A pesar de los debates constantes sobre su posible "obsolescencia" y que muchos lo dan por "muerto", la realidad es que este lenguaje sigue siendo esencial para una gran parte de los sistemas financieros y gubernamentales en todo el mundo.
En este post exploraremos si estamos realmente ante el fin de COBOL o si, por el contrario, este veterano lenguaje de programación continúa con plena vitalidad y en óptimas condiciones.
Origen y evolución de COBOL
El lenguaje de programación COBOL nació en 1959 gracias al trabajo conjunto de un comité conformado por representantes del gobierno de Estados Unidos y de la industria privada. El objetivo era crear un lenguaje de programación empresarial que fuese independiente del hardware y que facilitara la escritura de programas de gestión y negocios.
Desde su concepción, COBOL se distinguió por su sintaxis cercana al inglés (como lenguaje natural y no tan técnico), esta característica se introdujo para que el personal no técnico (como analistas de negocio y gerentes), pudieran leer y entender con facilidad la lógica del programa. En realidad, es muy fácil leer un programa en COBOL. Por ejemplo, en la siguiente imagen se ve como conectarse desde COBOL a una base de datos en DB2. Es bastante legible.

De acuerdo con el índice tiobe que mide la popularidad de los lenguajes de programación basado en las búsquedas web, para este mes de enero del 2025 COBOL ocupa el puesto número 20. Sin embargo, a pesar de que no se encuentra entre los 10 lenguajes de programación más populares, existen muchas empresas financieras y gubernamentales a nivel mundial que siguen gestionando aplicaciones escritas en COBOL. Estas aplicaciones suelen correr en mainframes robustos.
La vigencia del lenguaje
En la sección anterior mencioné que COBOL se ejecuta generalmente en los ambientes de producción en mainframes. Estos mainframes de acuerdo con la propia definición de IBM son ordenadores de alto rendimiento con grandes cantidades de memoria y procesadores de datos que procesan miles de millones de cálculos y transacciones simples en tiempo real.
Me sorprendí cuando en esta misma página web del enlace anterior, IBM comparte 2 métricas sobre los mainframes al 1 de marzo del 2024, cito textualmente:
- Son servidores de datos diseñados para procesar hasta un billón de transacciones web diarias con los máximos niveles de seguridad y fiabilidad.
- 45 de los 50 principales bancos, 4 de las 5 principales compañías aéreas, 7 de las 10 principales minoristas del mundo y 67 de las empresas de la lista Fortune 100 aprovechan el mainframe como plataforma principal.
En mi experiencia de 26 años como Ingeniero de Software y Administrador de Base de Datos, no me imagino llegar a un billón de transacciones financieras diarias. No he desarrollado ni trabajado en sistemas con tal número de transacciones por día y eso que he laborado en sistemas empresariales grandes.
Entonces, está claro que COBOL se diseñó para manejar grandes volúmenes de datos de manera confiable, rápida y segura. Esto le ha permitido realizar operaciones financieras críticas en bancos, aerolíneas, hospitales, compañías de seguros y organizaciones gubernamentales debido a su confiabilidad probada y su escalabilidad.
COBOL no es algo que se ejecuta solito, forma parte de un ecosistema que está conformado por: Mainframes (infraestructura), Sistema Operativo z/OS, COBOL como lenguaje de programación, CICS es el sistema transaccional del mainframe, DB2 como base de datos.
El siguiente video explica cómo funciona este ecosistema:
Mi experiencia con COBOL
Aprendí COBOL en el último año de bachillerato en 1994. En mi país (Ecuador) en ese tiempo en el sistema educativo se escogía especialización (en mi caso Informática) cuando estaba en Bachillerato (4to, 5to y 6to año del colegio). Para cuando aprendí COBOL ya había programado en Basic y Pascal que fueron los lenguajes que me enseñaron los años anteriores. Seguramente, luego de que me gradué siguieron enseñando COBOL en mi colegio, pero no sé hasta qué año.
Por esos tiempos, mis programas estaban en diskettes de 5 1/4 y 3 1/2 pulgadas. Aquella época donde el almacenamiento computacional era limitado.
Mi primera impresión con COBOL es que había que ser muy disciplinado al escribir los programas ya que se crean divisiones (y secciones) cada una con una función específica y tenía que respetarse la posición de las columnas de lo contrario no compilaba y el ancho de los programas era de 80 caracteres igual que el de las pantallas. Si está interesado en ver un programa de COBOL puede usar OneCompiler que también incluye este lenguaje de programación dentro de su catálogo y se puede empezar con el clásico Hola, Mundo!.
Considero que una de las razones de la robustez de este lenguaje es la definición de los tipos de datos a través de la palabra reservada PIC, se podía colocar el tipo de dato y la longitud sin ninguna complicación. Para aquellos que luchamos hace 2 décadas atrás con Integer, BigInteger, Decimal y BigDecimal en Java que debíamos usar Apache Commons, o los desarrolladores de Javascript que seguro tenían pesadillas por los tipos de datos.
Creo que desarrollé 3 sistemas pequeños principalmente tareas académicas y no tuve la oportunidad de usar este lenguaje en ambientes laborales, pero conocí varias empresas que los usaban: embotelladoras de bebidas gaseosas, agroquímicas, unidades educativas y agroindustrias.
La razón porque no incursioné en este lenguaje es que en el mismo tiempo que aprendí COBOL también aprendí dBASE y FoxPro ... entonces me atrajo más el uso de tablas e índices con interfaces de usuario fáciles de construir ... donde luego cambié por las bases relacionales como DB2 y Oracle por allá en el 1999 junto con otros lenguajes de programación.
¿Por qué se dice que COBOL está muerto?
Bueno, aquí vale acotar que los lenguajes de programación tienen un propósito o mercado al cual están destinados. A pesar de que en un mismo lenguaje se puedan programar diferentes tipos de aplicaciones (propósito general), hay muchos lenguajes que son más usados en ciertas tareas. Es así que, por ejemplo:
- Para construir sistemas operativos: C, C++ y en los últimos años Rust.
- Para juegos: Java, C++, C#.
- Para BlockChain: Solidity (EVM), Rust (Solana) y se pueden usar otros lenguajes.
- Para DataScience: Python, R, Julia, Java, Matlab y se pueden usar otros lenguajes.
- Para Mobile: Java, Objective-C, Swift.
- Para Windows Desktop: C#, C++, Smalltalk.
- Para Web (Frontend): Javascript con sus diferentes frameworks.
- Para Web (Backend): Java, C#, Python, Node.js, PHP.
Le puede interesar: Smalltalk: Historia, Características y Ventajas del Lenguaje de OOP 👈
El objetivo de esta lista no es quitar funcionalidades a ningún lenguaje de programación sino más bien apuntar a los nichos en que se encuentran y destacar también donde se ubica COBOL. Tampoco abarca a todos los lenguajes de programación existentes.
Entonces, ¿a qué nicho apunta COBOL hoy en día? A grandes empresas multinacionales con millones de transacciones por día. No es necesario comprar un mainframe para una Pyme, o un pequeño negocio con un punto de venta que emite 15 facturas por día, ni siquiera sistemas web sean monolíticos o de microservicios se pueden desplegar en la nube de la preferencia de su empresa.
Dicho esto, el rumor de la "muerte" de COBOL surge principalmente de su baja adopción entre las nuevas generaciones de desarrolladores y las universidades que suelen enfocarse en lenguajes más modernos.
Para saber que empresas usan COBOL hoy en día, puede abrir cualquier buscador de empleos sea en Europa, Estados Unidos o Japón y buscar COBOL. Para este ejercicio he usado dice.com me han aparecido 325 ofertas, aquí se puede revisar el perfil de las empresas que están reclutando desarrolladores en COBOL con salarios bastante atractivos.
Problemas con COBOL
Falta de personal capacitado
A medida que los expertos en COBOL se van jubilando, la demanda de personal que pueda mantener y actualizar estos sistemas ha crecido. Recuerdo que mucho personal que estaba jubilado volvió a sus puestos para ayudar en el problema del Y2K.
En mi caso aprendí COBOL en el colegio no en la universidad, entonces la oferta académica de este lenguaje seguro ha disminuido no podría decir en que universidad del mundo se enseña COBOL, pero lo que si le puedo mencionar estimado lector es que si usted es desarrollador seguramente lo que aprendió en la universidad tuvo que complementarlo con estudio autodidacta o cursos adicionales. Entonces, si ya tiene la habilidad de ser autodidacta le va a resultar fácil aprender COBOL.
Le recomiendo estos dos canales de youtube The Mainframe Corner y Programación Lógica - COBOL donde puede encontrar valiosa información sobre COBOL.
Existe una técnica en Extreme Programming que se llama Pair Programming (Programación en Pareja) que consiste en que 2 programadores desarrollen un mismo código. Con la llegada de la Inteligencia Artificial a falta de un mentor que le enseñé COBOL puede usar una IA, ya comprobé ChatGPT y DeepSeek, ambas IA generan código en COBOL ... y sí DeepSeek lo generó más rápido ... este fue el prompt: "podrías generar un programa en COBOL para conectarme a una base de datos DB2 y generar un archivo json de una tabla de estudiantes". Entonces, su pareja para programar puede ser una IA.
Seguridad
COBOL sufre lo mismo que otros lenguajes de programación, las necesarias actualizaciones para corregir bugs y parches de seguridad.
Nuevas Funcionalidades
COBOL ha ido agregando nuevas funcionalidades en su revisión de 1985 y el 2002. Actualmente IBM Enterprise COBOL for z/OS 6.4 nos ofrece una gran cantidad de nuevas características, soporta: web, cloud e infraestructura móvil.
Modernización de Sistemas
Muchos desarrolladores dirán ¿y por qué no se migra a plataformas modernas? La respuesta no es tan sencilla, desde: la planificación de la migración, la estrategia de migración, la ejecución del plan, verificar la compatibilidad de componentes, librerías, infraestructura, mapeo de datos, el personal involucrado y un largo etcétera.
Migrar sistemas más que habilidad es un arte, cada migración es diferente y cada estilo de migración depende del equipo que se encarga de migrar. Pero, solo quiero hacer énfasis en unos cuantos criterios cortos para no extender mucho este post:
- Escalabilidad: Llegar a la cantidad de transacciones que maneja COBOL, la verdad no sé cómo alcanzar esa cantidad de millones desde un punto de vista de programación sin tener que usar un supercomputador ... tal vez aplicaría algo como Loom de Java o una combinación de Elixir con Rust. Habría que hacer un benchmarking y testear hasta cuantos millones de transacciones se llegarían en un día.
- Cantidad de Línea de Código: En tantas décadas que se han escrito programas en el lenguaje COBOL, seguramente los sistemas son extensos ... al reemplazar este código probablemente se podrían "escapar" muchas funcionalidades por implementar.
- Ecosistema: El ecosistema mismo está diseñado para trabajar en conjunto funcionan como un equipo de nado sincronizado más que un equipo de fútbol con un crack.
- Sistemas críticos: Como vimos a lo largo del post los sistemas que corre COBOL son críticos no hay ventana de tiempo para migrar. Mientras unos usuarios están durmiendo, en la otra parte del planeta siguen usando el sistema ... al ser empresas internacionales. Es decir, "zero downtime".
- Financiero: Las empresas ya han hecho inversiones en estos sistemas que supongo son cuantiosas ... habría que buscar un argumento realmente crítico o una funcionalidad muy especial que justifique un desembolso para una nueva inversión sobre algo que está funcionando de forma óptima.
He listado varios criterios a consideración de porque no se migran estos sistemas o los riesgos de migrar estos sistemas. Pero la recomendación es:
- Si va a construir un sistema nuevo desde cero o satélite que usa algo de información de los sistemas core de COBOL es mejor buscar alguna interfaz para conectarse. En caso de necesitar se puede usar JNI de Java para interoperabilidad con COBOL.
- IBM sigue ofertando mainframes con todos los componentes mejorando el rendimiento y sigue actualizando. Entonces, proveedor existe.
- Hay un dicho que dice: "si funciona, no lo rompas". No creo que sea necesario migrar sino seguir dando mantenimiento y refactoring.
- En sistemas complejos cualquier cosa puede salir mal y en este caso puede afectar a la continuidad del negocio de estas empresas.
Potencialmente estos serían los riesgos y criterios, entonces es mejor mantener la misma infraestructura, al final es más barato buscar personal que siga trabajando en estas herramientas que mudar todo un sistema solo por el hecho de usar lenguajes modernos.
![]() |
![]() |
![]() |
Conclusión
A pesar de los titulares que periódicamente claman la “muerte” de COBOL, la realidad demuestra que continúa siendo un actor fundamental en la industria de la computación, especialmente en sectores donde la confiabilidad y la estabilidad son primordiales. Su uso en sistemas financieros, gubernamentales y de gran escala es un testimonio de su solidez.
Sin embargo, mantener vivo un lenguaje de más de medio siglo trae consigo desafíos considerables: las vulnerabilidades en sistemas heredados, la escasez de programadores con conocimientos específicos y los altos costos de migración. Para afrontar estos retos, las organizaciones deben implementar estrategias de modernización, formación de personal (o mayor contratación), robustas prácticas de seguridad, seguir actualizando la infraestructura de mainframes y generar una alianza con su proveedor de servicios.
COBOL no está muerto, pero sí requiere una atención renovada. El panorama actual de la tecnología exige la convivencia de sistemas históricos con entornos modernos. De pronto, con los avances que tenemos se pueda migrar usando la Inteligencia Artificial General (AGI) en un futuro no muy lejano si es que se necesita.