COBOL: definición y guía del lenguaje de programación empresarial (1959)
Descubre COBOL (1959): guía completa sobre su historia, sintaxis empresarial, versiones, evolución y uso actual en sistemas críticos de negocio.
COBOL es un lenguaje de programación que se desarrolló en el año 1959. Fue uno de los primeros lenguajes de programación informática. El nombre COBOL significa COmmon Business-Oriented Language. COBOL fue creado porque la gente quería un lenguaje que pudieran utilizar para describir los problemas de una manera que es independiente del hardware utilizado. Al igual que SQL, COBOL utiliza una sintaxis cercana a la de los lenguajes naturales. Como ejemplo, AÑADIR AÑOS A LA EDAD es una expresión válida. Hay varias versiones diferentes de COBOL. La más reciente es de 2002. En general, las versiones del lenguaje antes de 1985 no son compatibles con las versiones más nuevas, de 1985 y posteriores.
COBOL se diseñó con objetivos claros: legibilidad (para que analistas y gestores pudieran entender los programas), facilidad para la manipulación de datos numéricos y decimales (importante en contabilidad y finanzas), y fuertes facilidades de entrada/salida y manejo de ficheros. La estructura típica de un programa COBOL está dividida en varias secciones o "divisions" —por ejemplo, IDENTIFICATION DIVISION, ENVIRONMENT DIVISION, DATA DIVISION y PROCEDURE DIVISION— lo que ayuda a separar la documentación, la descripción del entorno, la definición de datos y la lógica de negocio. COBOL soporta diferentes formatos de fichero (secuenciales, indexados, relativos) y tipos de registros, lo que lo hizo muy adecuado para aplicaciones comerciales a gran escala.
Características destacadas
- Legibilidad: sintaxis cercana al lenguaje natural para facilitar la comprensión por personal no exclusivamente programador.
- Precisión decimal: soporte nativo para aritmética decimal y formatos monetarios.
- Manejo de archivos: potentes capacidades para ficheros masivos y procesamiento por lotes (batch).
- Portabilidad: diseñado para ser independiente del hardware, con compiladores disponibles en múltiples plataformas.
- Evolución estandarizada: ANSI/ISO publicó revisiones del lenguaje para agregar características y corregir incompatibilidades.
Historia y estandarización
COBOL nació en un comité de la industria encabezado por el Departamento de Defensa de Estados Unidos y representantes de empresas y universidades. A lo largo de las décadas se han publicado varias normas y revisiones: la primera estandarización importante fue a finales de los años 60, siguieron revisiones en 1974, 1985 (COBOL 85), 2002 (con soporte para extensiones modernas) y una revisión posterior en 2014 (ISO/IEC 1989:2014) que actualizó y clarificó aspectos del estándar. Estas revisiones añadieron, entre otras cosas, mejores facilidades de programación modular y, más recientemente, características orientadas a objetos y mejoras para integrarse con entornos modernos.
En su carta a un editor en 1975, titulada "¿Cómo decimos verdades que pueden doler?", el informático y galardonado con el premio Turing Edsger Dijkstra señaló que "El uso de COBOL paraliza la mente; su enseñanza debería, por tanto, considerarse un delito". En esta carta, Dijkstra también criticaba otros lenguajes que se utilizaban en la época.
El informático que se llamaba Howard E. Tompkins no estaba de acuerdo y defendía el COBOL estructurado: "Los programas COBOL con un flujo de control enrevesado tienden, en efecto, a 'paralizar la mente'", pero esto se debía a que "hay demasiados programas de aplicación empresarial de este tipo escritos por programadores que nunca han tenido el beneficio de que se les enseñe bien el COBOL estructurado...".
Versiones modernas y orientadas a objetos
En los últimos años, COBOL se ha ampliado para permitir la programaciónorientada a objetos, funciones definidas por el usuario y tipos de datos definidos por el usuario. A partir de la norma de 2002 se incorporaron extensiones orientadas a objetos, y revisiones posteriores han mejorado la interoperabilidad con servicios web, bases de datos relacionales y entornos de ejecución modernos. Existen compiladores y entornos de ejecución que permiten integrar código COBOL con plataformas .NET, JVM y servicios de red, así como herramientas para exponer lógica COBOL como APIs RESTful.
Uso actual y legado
Aunque muchas aplicaciones nuevas se desarrollan en lenguajes modernos, COBOL sigue siendo muy importante en sistemas críticos de sectores como la banca, los seguros, la administración pública y la nómina. Millones de líneas de código COBOL continúan en producción porque implementan reglas de negocio complejas y comprobadas. Por ello, se mantiene un ecosistema de compiladores y herramientas (comerciales y libres) para mantener, modernizar o migrar esos sistemas.
Estrategias de modernización
Las organizaciones que deben mantener aplicaciones COBOL suelen emplear varias estrategias:
- Re-hosting: mover las aplicaciones a hardware o plataformas modernas sin cambiar el código fuente significativo.
- Wrapping: exponer funciones COBOL existentes como servicios o APIs para que sistemas nuevos las consuman.
- Reescritura parcial o total: traducir la lógica a lenguajes actuales (costo y riesgo elevados).
- Refactorización: modularizar y limpiar código COBOL para facilitar su mantenimiento y evolución.
Herramientas y comunidad
Existen compiladores y herramientas de distintos proveedores —tanto comerciales como de código abierto— que permiten compilar, depurar y ejecutar programas COBOL en plataformas actuales. La demanda de profesionales con conocimiento de COBOL sigue presente en determinados sectores y existen recursos de formación para aprender tanto COBOL clásico como sus extensiones modernas.
En resumen, COBOL es un lenguaje con una larga historia en el mundo empresarial. Sus características originales lo hicieron ideal para aplicaciones de negocio y, gracias a sucesivas actualizaciones y a un amplio ecosistema de herramientas, sigue siendo relevante en muchos entornos donde la fiabilidad y la precisión en el tratamiento de datos monetarios son críticos.
Buscar dentro de la enciclopedia