COBOL para niños
El lenguaje COBOL (acrónimo de COmmon Business-Oriented Language, Lenguaje Común Orientado a Negocios) fue creado en el año 1959 con el objetivo de crear un lenguaje de programación universal que pudiera ser usado en cualquier ordenador y que estuviera orientado principalmente a los negocios, es decir, a la llamada informática de gestión. COBOL se utiliza principalmente en sistemas comerciales, financieros y administrativos para empresas y gobiernos. COBOL todavía se usa ampliamente en aplicaciones implementadas en ordenadores centrales, como trabajos de lote y procesamiento de transacciones a gran escala. Sin embargo, debido a su popularidad decreciente y al retiro de los programadores COBOL experimentados, los programas se están migrando a nuevas plataformas, reescribiéndolos en lenguajes modernos o reemplazándolos con paquetes de software. La mayor parte de la programación en COBOL ahora es puramente para mantener las aplicaciones existentes; sin embargo, muchas instituciones financieras grandes todavía estaban desarrollando nuevos sistemas en COBOL hasta 2006.
Historia
En la creación de este lenguaje participó la comisión CODASYL, compuesta por fabricantes de ordenadores, usuarios y el Departamento de Defensa de Estados Unidos en mayo de 1959. La definición del lenguaje se completó en poco más de seis meses, siendo aprobada por la comisión en enero de 1960. El lenguaje COBOL fue diseñado inspirándose en el lenguaje Flow-Matic de la oficial Grace Hopper y el IBM COMTRAN de Bob Bemer, ya que ambos formaron parte de la comisión.
Gracias a la ayuda de los usuarios COBOL evolucionó rápidamente y fue revisado de 1961 a 1965 para añadirle nuevas funcionalidades. En 1968 salió la primera versión ANSI del lenguaje, siendo revisada posteriormente en 1974 (COBOL ANS-74), 1985 (COBOL ANS-85, ampliado en 1989 con funciones matemáticas, finalizando el estándar actual más usado, conocido como COBOL-ANSI), y en 2002 (COBOL ANS-2002).
El último estándar es el COBOL 2014 que entre otras, incluye una nueva característica que permite gestión dinámica de la memoria (OCCURS DYNAMIC).
Existe una versión IBM Enterprise Cobol, actualizada regularmente y lanzada en 1991, usada en sistemas Host (Mainframe) bajo z/OS.
Para Windows y Linux, hay varios compiladores e IDE-s que existen desde hace tiempo y se siguen modernizando.
- MicroFocus Visual Object COBOL For Windows 95 (el IDE más antiguo permitiendo crear GUI-s, soporta WinAPI)
- MicroFocus NetExpress (el IDE ya moderno permitiendo interactuar con Java, EJB, C. También OO COBOL (orientado a objetos))
- MicroFocus Visual COBOL para Visual Studio y Eclipse (el IDE actual, con WebServices)
- RM/COBOL, ahora propiedad de Microfocus, originalmente de la compañía Ryan & McFarland, quienes desarrollaron el compilador y el runtime
- Fujitsu COBOL
- Fujitsu NetCOBOL for Windows
- Fujitsu NetCOBOL for .NET
- Fujitsu PowerCOBOL (forma parte del paquete NetCOBOL for Windows, creando aplicaciones GUI basadas en controles ActiveX, soporta WinAPI).
También actualmente existen:
- GnuCOBOL (antiguo Open COBOL, que es Open Source)
- Raincode COBOL
- COBOL-IT
Características
- COBOL fue diseñado para escribir programas autodocumentados, mediante separación en divisiones para la declaración de variables de los procedimientos y una división para llevar un registro de quién solicitó el programa y quiénes lo escribieron. A pesar de sus objetivos la estructura que tenía en su inicio era insuficiente para la estructura modular que requieren los sistemas de los negocios corporativos.
- Sus tipos de datos estaban pensados para manejar archivos ordenados, por lo que cuenta con estructuras para registros y variantes y la declaración de claves para los archivos indexados.
- Tipos de datos atómicos que se definen mediante la palabra clave
PICTURE
se pueden definir campos estructurados. Lo que permite definir números con los que se evita errores de redondeo en los cálculos que se producen al convertir los números a binario y que son inaceptables en temas comerciales, COBOL puede emplear y emplea por defecto números en base diez. - Para facilitar la creación de programas en COBOL, la sintaxis del mismo fue creada de forma que fuese parecida al idioma inglés, evitando el uso de símbolos que se impusieron en lenguajes de programación posteriores.
Pese a esto, a comienzos de los ochenta se fue quedando anticuado respecto a los nuevos paradigmas de programación y a los lenguajes que los implementaban. En la revisión de 1985 se solucionó, incorporando a COBOL variables locales, recursividad, reserva de memoria dinámica y programación estructurada.
En la revisión de 2002 se le añadió orientación a objetos, aunque desde la revisión de 1974 se podía crear un entorno de trabajo similar a la orientación a objetos, y un método de generación de pantallas gráficas estandarizado.
Antes de la inclusión de las nuevas características en el estándar oficial, muchos fabricantes de compiladores las añadían de forma no estándar. En la actualidad este proceso se está viendo con la integración de COBOL con Internet. Existen varios compiladores que permiten emplear COBOL como lenguaje de scripting y de servicio web. También existen compiladores que permiten generar código COBOL para la plataforma .NET y EJB.
La estructura de un Programa en Cobol se compone de 4 Divisiones.
- IDENTIFICATION DIVISION: Es el identificador del programa, lleva los datos de información , nombre de autor fecha de compilación etc.
- ENVIRONMENT DIVISION: Indica los recursos de hardware donde se ejecuta el programa, así como la asignación de salida de información por medios de comunicación.
- DATA DIVISION: En esta división se establecen las variables que serán utilizadas por el sistema y la declaración de archivos.
- PROCEDURE DIVISION: Como su nombre lo indica se ejecuta las instrucciones codificadas.
Programa Hola mundo
IDENTIFICATION DIVISION.
PROGRAM-ID. HOLAMUNDO.
AUTHOR. ANONIMO.
ENVIRONMENT DIVISION.
CONFIGURATION SECTION.
SOURCE-COMPUTER. RMCOBOL-85.
OBJECT-COMPUTER. RMCOBOL-85.
INPUT-OUTPUT SECTION.
FILE-CONTROL.
DATA DIVISION.
FILE SECTION.
WORKING-STORAGE SECTION.
PROCEDURE DIVISION.
DISPLAY 'Hola mundo'
GOBACK
..
.
Empleo
Pese a que muchas personas creen que el lenguaje COBOL está en desuso, la realidad es que casi todos los sistemas que requieren gran capacidad de procesamiento por lotes (Batch), tanto las entidades bancarias como otras grandes empresas con sistemas mainframes utilizan COBOL. Esto permite garantizar la compatibilidad de los sistemas antiguos con los más modernos, así como tener la seguridad de que el lenguaje es perfectamente estable y probado. Según un informe de Gartner Group de 2005, el 75% de los datos generados por negocios son procesados por programas creados en COBOL, y en otro informe de 1997 estima que el 80% de los 300.000 millones de líneas de código existentes están creados en COBOL, escribiéndose 5000 millones de líneas nuevas de COBOL cada año. Con todo eso, hoy por hoy, la programación en COBOL es uno de los negocios más rentables del mundo de la informática. En el resto de aplicaciones el COBOL ha caído en desuso, reemplazado por lenguajes más modernos o versátiles.
En los medios
- En el código que se ve de la programación del cyborg de la película The Terminator (1984), algunas de las sentencias están escritas en Cobol.
Véase también
En inglés: COBOL Facts for Kids
- Burroughs B2000
- Grace Murray Hopper