Blog de Página Web Leon

COBOL, el eterno lenguaje de los negocios

Han pasado 56 años de la creación de éste lenguaje de programación y aún es la herramienta preferida por los banqueros, pero, ¿Qué es lo que tiene de atractivo? ¿No existe actualmente otro lenguaje mejor? ¿O quizás el miedo al costoso riesgo de migrar a otra plataforma? ¿Hoy en día está en desuso este viejo lenguaje de programación?

Historia

Cobol fue diseñado a fínales de los años 50’s con el motivo de tener un lenguaje de programación orientado a los negocios que tuviera la capacidad de ser compatible con la infinidad de arquitecturas de aquellos tiempos, debería ser un lenguaje de alto nivel con fácil uso de sus instrucciones y con programación estructurada, sin embargo, conservó la instrucción GoTo, por lo que la programación estructurada que ofrece es algo cuestionable. El nombre de COBOL se refiere al acrónimo de Common Business Oriented Language, Lenguaje común orientado a negocios, la palabra común se refiere a la capacidad de poder ser ejecutado en cualquier plataforma.

Para su época, COBOL ofrecía un excelente manejo de archivos y una inmejorable precisión  en cifras decimales y operaciones con éstas cifras, fuel el primer lenguaje que hizo una clara definición del tipo de dato, ya contenía la opción de declaración de datos tipo cadena, datos flotantes y datos enteros. No usaba signos de puntuación para bucles o expresiones condicionales como llaves o corchetes para inicio o término de instrucciones ni se incluyó mucha variedad de operadores, las instrucciones en sus palabras reservadas se hacían en inglés lo que daba una buena comprensión del código fuente. Contaba con un estructura muy bien distribuida para escribir el código, ya que las secciones ayudaban en mucho para hacerlo legible y práctico, tenía una sección para archivos, otra para la declaración de variables, otra para conexión con bases de datos y una para la parte operacional del programa, el manejo de coordenadas de la pantalla que tenía integrado, ayudó en mucho para generar reportes puesto que se realizaban de una manera muy fácil lo que ahorraba mucho tiempo al programador y ofrecía al usuario amplio margen de configuración para presentar sus datos, además, COBOL estaba muy bien orientado para su propósito primordial: la gestión del negocio, la velocidad de procesamiento y el manejo de memoria lo hacían más eficiente. Por estas razones este poderoso lenguaje  se volvió muy popular entre los banqueros, departamentos gubernamentales y empresas que trabajaban con dinero, por consiguiente, tuvo mucha demanda. Los mainframes que estaban en el mercado en aquellos entonces, comprendían una serie de herramientas, se ofrecía como sistema operativo el Unisys, con dos lenguajes de programación, COBOL y Algol y un potente gestor de base de datos llamado DMSII.

Versiones

COBOL en sus mejores años operacionales pasó por varias mejoras que originaron versiones o revisiones. Cuando fue lanzado en el año de 1960 siendo aprobada por la comisión fue bien recibida por el mercado, los mismos usuarios hicieron sugerencias y peticiones para mejoras, la más próxima se lanzó en el año 1965, después se mejoró y se lanzó la siguiente versión en 1968, una más en 1974 y después otra en 1985, se hicieron ampliaciones matemáticas que mejoraron la última versión y se lanzó en 1989 pero sin tanto éxito. 29 años de un lenguaje de programación en un rubro tan exigente como lo son las finanzas habla muy bien de él. Este lenguaje era muy popular y conocido por los programadores, de hecho era el mejor para la informática de gestión.

Comenzando los años noventas, COBOL sufrió un descalabro y a partir de ahí se volvió “underground” usado solo por expertos conocedores y muy limitada la difusión de su uso, tanto que a la fecha se piensa que ya no existe y que ha formado parte de la historia de la informática. La llegada de los equipos personales requerían aplicaciones no tan robustas y el sistema operativo manejaba varias estructuras de hardware, los mainframes estaban en declive y COBOL siempre fue  pensado para trabajar con estos monstruos de la computación, el furor de nuevas metodologías de programación hicieron a muchos programadores experimentar con otros lenguajes como C++ que tenía un excelente manejo de los recursos de hardware y del mismo sistema operativo, la programación orientada a objetos se irradió entre la comunidad informática, la sociedad se dividió muy claramente, las enormes empresas conservaban los mainframes y las computadoras personales invadieron los hogares de todo Estados Unidos y posteriormente casi de todo el mundo, los primeros virus informáticos masivos y la cultura hacker se popularizó en los años 80’s propagándose también por todo el globo, se daba preferencia a sistemas operativos como Unix, MS-DOS y las primeras versiones de Mac OS antecedidas por System 7.5.1, la computadora personal era la sensación del momento y llegaba una nueva era, pero terminaba otra: La era de COBOL.

COBOL actualmente

En el año de 1997 la empresa japonesa Fujitsu lanzó la versión COBOL97, lo que pretendía era retomar las características de COBOL con especificaciones para equipos de escritorio, esta versión soportaba instrucciones SQL y a diferencia de sus versiones antecesoras ya no requería la numeración secuencial de la parte izquierda del código, dicha parte se usaba para indicar el flujo de instrucciones para las tarjetas perforadas, no obstante se respetó ese espacio como tradición del lenguaje. Otra característica que se añadió, es que ya no estaba limitado el renglón de instrucciones a 74 caracteres, se podía escribir un renglón con “N” caracteres. Esta versión, tenía la capacidad de generar archivos .exe y .dll para ajustarse a las necesidades del proyecto y adherirse como complemento a otros proyectos incluso a otros lenguajes de programación más actuales. En el año de 1998, American Cybernetics lanzó al mercado la versión de MultiEdit 8.0e la cual incluye el mejor editor de código para todas las versiones de COBOL. También se lanzó una versión de Visual COBOL en el 2011 pero sin mucho éxito.

Actualmente COBOL se usa para programas de negocios muy herméticos con alta exigencia en seguridad y con bases de datos muy robustas, se enfocó para ser usado por grandes empresas y manejar operaciones financieras. Se tiene la idea que este maravilloso lenguaje de programación está extinto pero no es así. Para asegurar la operatividad entre los mainframes antiguos y la nueva tecnología informática este lenguaje de programación resulta bastante útil, ya que está probado, garantizado y es perfectamente estable. De esta forma, la comunicación resulta exitosa entre varias tecnologías, sin importar la edad de cada una.

Hola Mundo‘ escrito en COBOL

La siguiente fracción de código está escrita en COBOL97, podemos identificar varias secciones, una de las más importantes es la WORKING-STORAGE SECTION, es aquí donde se declaran todas las variables para usarse en el programa. La sección PROCEDURE DIVISION es la asignada para escribir las sentencias que se ejecutarán. Para este ejemplo se usó el compilador Fujitsu, el cual generará un archivo .exe que mostrará el saludo. Nótese que en la parte izquierda del programa aparece una columna numeral con un consecutivo por línea. Las secciones están perfectamente visibles, para éste ejemplo solamente se escribieron instrucciones para la sección WORKING y PROCEDURE:

000010 IDENTIFICATION DIVISION.
000020 PROGRAM-ID SALUDO.
000030 ENVIRONMENT DIVISION.
000040 DATA DIVISION.
000050 WORKING-STORAGE SECTION.
000060  01 LEER       PIC X(01).
000070 PROCEDURE DIVISION.
000080     DISPLAY "Hola mundo!".
000090     ACCEPT LEER.
000100     STOP RUN.

Escribiendo y compilando el programa

El programa lo escribimos en el multi edit y lo guardamos en una carpeta dedicada a almacenar nuestros archivos. Ahora abrimos el Fujitsu COBOL97

Usando Fujitsu COBOL para compilar el programa

Fig. 1.1 Usando Fujitsu COBOL para compilar el programa

Y compilamos el programa, nos aparecerá una ventana como la que se muestra a continuación:

Compilación exitosa del programa

Fig. 1.2 Compilación exitosa del programa

Vemos que no obtuvimos ningún mensaje en rojo, eso significa que no tuvimos errores ni alertas. Ahora veamos los archivos que nos creó en nuestra carpeta dedicada a éste ejemplo:

Archivos generados por Fujitsu COBOL97

Fig. 1.3 Archivos generados por Fujitsu COBOL97

Los archivos que creamos nosotros fueron: hola.cbl que contiene el código fuente y el hola.PRJ que se usa para indicar que el compilador será COBOL97, los archivos generados después de la compilación son: HOLA.001, HOLA.EXE, HOLA.MAK y HOLA.OBJ. El archivo que usaremos para mostrar el saludo es HOLA.EXE (Ejecutable), lo corremos y vemos sus resultados:

Ejecución del programa

Fig. 1.4 Ejecución del programa

Los bancos de México

Banamex es un claro ejemplo de la supervivencia de cobol, y no solo eso, sino que opera los ciclos vitales del banco más importante de México. Banamex cuenta con varios equipos que gestionan información de sus clientes, el equipo de producción sustenta la información en un mainframe con la arquitectura Unisys, y cobol es el lenguaje que procesa dichos datos. A pesar de que el front está construido completamente con tecnología vanguardista, todavía la compañía hace uso de ese viejo de la informática. Esta empresa sostiene muchos empleos para programadores especializados en este lenguaje y exige a sus proveedores consultores, elementos especializados en ésta plataforma. Bancomer, BanBajío, Santander, HSBC, Banorte y muchas cajas de ahorro, son instituciones donde COBOL no se niega a morir, al contrario toma una parte fundamental en el trabajo operacional.

Un programador de cobol en México experimentado, puede ganar entre $1,523.00 a $3,311.00 dólares mensuales. En los sitios de ofertas de trabajo, hay muchas solicitudes de programadores de COBOL para diversas instituciones, las ciudades con mayor reclutamiento de éstos programadores se encuentran en la Ciudad de México, Monterrey, Guadalajara, León, Torreón y Querétaro.

Datos curiosos

  • En el mundo de los negocios, actualmente existen más líneas de código escritas en cobol que en otros lenguajes y se siguen escribiendo más líneas en este lenguaje por año con respecto a otros lenguajes.
  • Bill Gates en una entrevista mencionó: “No sé qué lenguajes de programación existirán en el futuro, lo que sí sé es que COBOL todavía estará ahí”
  • En la película de Terminator de 1984, el cyborg en una escena hace un escaneo del lugar y se nota que el lenguaje en el que fue programado está hecho en cobol. Figuras 1.5 y 1.6.
    Escena de la película terminator 1984

    Fig. 1.5 Escena de la película terminator 1984

    El cyborg programado en cobol analiza el lugar

    Fig. 1.6 El cyborg programado en cobol analiza el lugar

2 Comentarios

  1. Pingback: Crear una DLL que consuma un WebService en C# | Blog de Página Web Leon

  2. http://bestdatingsitesnow.com

    I know this website provides quality depending content
    and additional information, is there any other web page which offers these
    kinds of information in quality?

Dejar un comentario