Definición de COBOL (lenguaje de programación)
(COmmon Business -Oriented Language - Lenguaje Común Orientado a Negocios). COBOL es un lenguaje de programación creado en 1960 con el objetivo de crear un lenguaje universal para cualquier tipo de computadora, orientado a la informática de gestión.
Este lenguaje fue creado por la comisión CODASYL, compuesta de fabricantes de computadoras, usuarios y el Departamento de Defensa de EE.UU., creada en mayo de 1959.
La definición se completó unos seis meses más tarde y fue aprobada por la comisión en enero de 1960.
COBOL fue diseñado a partir del lenguaje FLOW-MATIC de Grace Hopper y el IBM COMTRAN de Bob Bemer (ambos participantes de la comisión CODASYL).
COBOL fue revisado en 1961 y 1965 para añadirle funcionalidades. En 1968 llegó la primer versión ANSI del lenguaje, para luego revisarse en 1974 (COBOL AND-74), 1985 (COBOL ANS-85) y 2002 (COBOL ANS-2002).
Introducción
COBOL es un lenguaje de programación de computadoras, y uno de los más antiguos aún en uso. En 2006, entre el 80 y el 85% de todo el código informático (compilado) en uso en el mundo estaba basado en COBOL. Su nombre es un acrónimo de COmmon Business-Oriented Language, que define su dominio primario en los negocios, las finanzas y los sistemas administrativos para empresas y gobiernos.
El estándar COBOL 2002 incluye soporte para la programación orientada a objetos y otras características del lenguaje moderno.
COBOL fue ampliamente utilizado en la década de 1960, ya que se consideraba un lenguaje fácil de aprender y de entender. Esto llevó a su adopción por parte de muchas organizaciones y empresas, especialmente en el sector de la banca y las finanzas.
A medida que la tecnología avanzaba y surgían nuevos lenguajes de programación, COBOL fue perdiendo popularidad. Sin embargo, a pesar de su antigüedad, muchas empresas todavía dependen de sistemas y aplicaciones que utilizan código COBOL. Esto se debe a que esos sistemas funcionan de manera confiable y cumplen con los requisitos específicos de las organizaciones.
En la actualidad, COBOL se encuentra en un proceso de modernización y adaptación a las tecnologías más recientes. Esto incluye el soporte para la programación orientada a objetos y otras características de los lenguajes de programación modernos.
Además, COBOL continúa siendo utilizado en el sector gubernamental y en grandes empresas, donde los sistemas heredados basados en COBOL aún son fundamentales para las operaciones diarias. Estos sistemas suelen ser críticos y requieren actualizaciones y mantenimiento continuo para adaptarse a nuevas regulaciones y requisitos comerciales.
En resumen, COBOL es un lenguaje de programación antiguo pero aún relevante en el mundo empresarial. A pesar de su edad, se han realizado revisiones y actualizaciones para mantenerlo al día y garantizar su uso continuo en sistemas y aplicaciones críticas en el sector de los negocios y el gobierno.
Historia y especificaciones
El COBOL fue creado inicialmente en 1959 por el The Short Range Committee, uno de los tres comités propuestos en una reunión celebrada en el Pentágono los días 28 y 29 de mayo de 1959, organizada por Charles Phillips del Departamento de Defensa de los Estados Unidos (exactamente un año después de la reunión ALGOL 58 de Zurich).
El The Short Range Committee se formó para recomendar un enfoque de corto alcance para un lenguaje comercial común. Estaba compuesto por miembros que representaban a seis fabricantes de computadoras y tres agencias gubernamentales. En particular, los seis fabricantes de ordenadores eran Burroughs Corporation, IBM, Minneapolis-Honeywell (Honeywell Labs), RCA, Sperry Rand, y Sylvania Electric Products. Las tres agencias gubernamentales eran la Fuerza Aérea de los Estados Unidos, el David Taylor Model Basin, y la Oficina Nacional de Estándares (ahora NIST). Este comité fue presidido por un miembro del NBS.
En la reunión del Pentágono también se propuso un Comité de Alcance Intermedio y un Comité de Alcance Largo. Sin embargo, aunque se formó el Comité de Alcance Intermedio, nunca estuvo en funcionamiento; y el Comité de Largo Alcance ni siquiera se formó. Al final un subcomité del Comité de Corto Alcance desarrolló las especificaciones del lenguaje COBOL.
Este subcomité estaba compuesto por seis individuos:
- William Selden y Gertrude Tierney de IBM
- Howard Bromberg y Howard Discount de la RCA
- Vernon Reeves y Jean E. Sammet de Sylvania Electric Products
Este subcomité completó las especificaciones para el COBOL cuando el año 1959 llegó a su fin. La decisión de crear un lenguaje como el COBOL, que es un lenguaje compilado, fue una consecuencia directa de la creación previa de FLOW-MATIC, el primer lenguaje informático (compilador) que fue idea de Grace Hopper. El COBOL también fue influenciado por el lenguaje COMTRAN de IBM inventado por Bob Bemer.
Historia de las normas de COBOL
Las especificaciones aprobadas por el The Short Range Committee en pleno fueron aprobadas por el Comité Ejecutivo el 3 de enero de 1960, y enviadas a la oficina de impresión del gobierno, que editó e imprimió estas especificaciones como Cobol 60.
Desde entonces, el Instituto Nacional Americano de Estándares (ANSI) ha producido varias revisiones del estándar COBOL, incluyendo
- COBOL-68
- COBOL-74
- COBOL-85
- COBOL 2002
Definiendo las características
El COBOL, tal como se define en la especificación original, incluía una cláusula de PICTURE para la especificación detallada del campo. No soportaba variables locales, recursividad, asignación de memoria dinámica o construcciones de programación estructurada. El soporte para algunas o todas estas características se ha añadido en ediciones posteriores del estándar COBOL.
COBOL tiene muchas palabras reservadas, llamadas palabras clave. La especificación original de COBOL soportaba código auto-modificado a través de la infame declaración ALTER X TO PROCEED TO Y. Esta capacidad ha sido eliminada desde entonces.
El legado de COBOL
Los programas COBOL se usan globalmente en agencias gubernamentales y militares, en empresas comerciales, y en sistemas operativos como el z/OS de IBM, el Windows de Microsoft, y las familias POSIX (Unix/Linux etc.. ). En 1997, el Gartner Group, informó que el 80% de los negocios del mundo funcionaban con COBOL con 180 mil millones de líneas de código en existencia y con un estimado de 5 mil millones de líneas de nuevo código anualmente.
Cerca del final del siglo XX, el problema del año 2000 fue el foco de un importante esfuerzo de programación de COBOL, a veces por los mismos programadores que habían diseñado los sistemas décadas antes. El nivel particular de esfuerzo requerido para el código COBOL ha sido atribuido tanto a la gran cantidad de COBOL orientado a los negocios, ya que COBOL es por diseño un lenguaje de negocios y las aplicaciones de negocios utilizan mucho las fechas, como a las construcciones del lenguaje COBOL como la cláusula PICTURE, que puede ser utilizada para definir campos numéricos de longitud fija, incluyendo campos de dos dígitos para los años.
Críticas
Los críticos han argumentado que la sintaxis del COBOL sirve principalmente para aumentar el tamaño de los programas, a expensas de desarrollar el proceso de pensamiento necesario para el desarrollo de software. En su carta a un editor en 1975, titulada "¿Cómo decimos verdades que pueden ser perjudiciales?", el científico informático Edsger Dijkstra comentó que "El uso de COBOL paraliza la mente; por lo tanto, su enseñanza debería ser considerada como un delito penal" (de Selected Writings on Computing: A Personal Perspective).
COBOL 85 no era compatible con las versiones anteriores, lo que dio lugar al "nacimiento por cesárea de COBOL 85". Joseph T. Brophy, CIO, Travelers Insurance, encabezó un esfuerzo para informar a los usuarios de COBOL de los elevados costos de reprogramación de la aplicación de la nueva norma. Como resultado, el Comité ANSI COBOL recibió más de 3.200 cartas del público, en su mayoría negativas, en las que se pedía al Comité ANSI COBOL que realizara cambios. (El libro de ejemplos de COBOL 85)
Las versiones antiguas de COBOL carecen de variables locales y por lo tanto no pueden soportar realmente una programación estructurada.
Defensas
Los defensores afirman que típicamente los que critican el lenguaje nunca han sido programadores de COBOL y a menudo lo tergiversan. El crítico Edsger Dijkstra también quedó positivamente impresionado por las ideas de Michael A. Jackson sobre la "Programación estructurada" en COBOL (Jackson Structured Programming).
La especificación COBOL también ha sido revisada a lo largo de los años para incorporar los desarrollos de la teoría y la práctica de la computación .
Como con cualquier lenguaje, el código COBOL puede hacerse más verborreico de lo necesario. Por ejemplo, el código COBOL para una de las raíces de la ecuación cuadrática puede ser escrito, usando el verbo "COMPUTE", como:
compute X = (-B + (B ** 2 - (4 * A * C)) **.5) / (2 * A)
La misma fórmula también puede ser escrita menos concisamente como:
MULTIPLY B BY B GIVING B-SQUARED.
MULTIPLY 4 BY A GIVING FOUR-A.
MULTIPLY FOUR-A BY C GIVING FOUR-A-C.
SUBTRACT FOUR-A-C FROM B-SQUARED GIVING RESULT-1.
COMPUTE RESULT-2 = RESULT-1 ** .5.
SUBTRACT B FROM RESULT-2 GIVING NUMERATOR.
MULTIPLY 2 BY A GIVING DENOMINATOR.
DIVIDE NUMERATOR BY DENOMINATOR GIVING X
Las versiones más recientes de COBOL soportan variables locales a través de programas embebidos (scope-delimitado por las palabras clave PROGRAM-ID y END-PROGRAM). Las variables declaradas dentro del programa embebido son invisibles fuera de su alcance. En las versiones más antiguas de COBOL las variables locales pueden ser ocultadas mediante el uso de subprogramas, que deben ser invocados (a través de la palabra clave CALL). El programa que llama no tendrá acceso a las variables declaradas y manipuladas por el subprograma. Esta técnica podría dar lugar a una masa inmanejable de subprogramas, particularmente si no están bien documentados.
COBOL 2002 y COBOL Orientado a Objetos
El estándar COBOL2002 soporta Unicode, generación y análisis sintáctico de XML, llamada de convenciones a/desde lenguajes no-COBOL como el C, y soporte para la ejecución dentro de entornos marco como el .NET de Microsoft y Java (incluyendo COBOL instanciado como EJBs). Sin embargo, ningún proveedor ha producido aún un compilador completamente conforme.
Resumen: COBOL
COBOL es un antiguo lenguaje de programación creado en 1960, orientado a la informática de gestión en negocios y administración. Es ampliamente utilizado y su última versión incluye elementos de programación orientada a objetos.
¿Cuáles son las principales características del lenguaje COBOL?
COBOL se destaca por su legibilidad y facilidad de comprensión, ya que está diseñado para que los programas sean similares a oraciones en inglés. Además, es un lenguaje orientado a negocios, lo que significa que está enfocado en tareas de gestión y procesamiento de datos para aplicaciones empresariales.
¿En qué tipo de aplicaciones se utiliza comúnmente COBOL?
COBOL se utiliza ampliamente en aplicaciones empresariales críticas, como sistemas de banca, seguros, contabilidad y administración de inventarios. También es comúnmente utilizado en la industria de mainframes, dada su compatibilidad con estos sistemas.
¿Existe demanda actualmente de programadores COBOL?
Sí, a pesar de ser un lenguaje de programación más antiguo, aún existe una demanda significativa de programadores COBOL. Muchos sistemas heredados aún se ejecutan en COBOL y necesitan mantenimiento y actualizaciones, por lo que hay oportunidades de empleo en este campo.
¿Es COBOL un lenguaje difícil de aprender para los programadores novatos?
COBOL puede ser considerado un lenguaje más fácil de aprender en comparación con otros lenguajes de programación, especialmente para aquellos que están familiarizados con el lenguaje inglés. Sin embargo, como en cualquier lenguaje de programación, se requiere dedicación y práctica para adquirir experiencia y habilidades sólidas.
¿Hay ventajas particulares de usar COBOL en lugar de otros lenguajes de programación modernos?
COBOL puede ser preferible en ciertos escenarios, especialmente aquellos que involucran sistemas heredados y procesamiento masivo de datos. Su enfoque en la gestión empresarial y su capacidad para interactuar con mainframes hacen que sea una elección lógica en ciertos contextos.
¿Se sigue desarrollando y actualizando el lenguaje COBOL?
Sí, a pesar de su antigüedad, el lenguaje COBOL sigue siendo desarrollado y actualizado. Organizaciones como Micro Focus continúan mejorando y manteniendo el lenguaje, asegurándose de que siga siendo relevante y compatible con los sistemas modernos. Además, existen comunidades de programadores dedicados a compartir conocimientos y recursos relacionados con COBOL.
Relacionados:
• El clásico lenguaje de programación COBOL cumple 50 años
Autor: Leandro Alegsa
Actualizado: 31-07-2023
¿Cómo citar este artículo?
Alegsa, Leandro. (2023). Definición de COBOL. Recuperado de https://www.alegsa.com.ar/Dic/cobol.php