Artículo sobre Cobol (PCWORLD)

ARTICULO PUBLICADO EN LA REVISTA
PCWORLD - ENERO 2.000

Autor: Andrés Montes



INTRODUCCION

Es muy probable que muchos lectores se sorprendan al encontrar un artículo sobre Cobol. Es mas, algunos pensarán que es algo nuevo y revolucionario con lo que una vez mas nos sorprende el apasionante mundo de la informática y la tecnología. Evidentemente no es así. Cobol es algo mas, mucho más. Se trata de un lenguaje de programación que ha sido capaz de mantenerse con nosotros desde el inicio de la informática hasta nuestros días, y no tiene ninguna intención de abandonarnos.

Para empezar a hablar de Cobol, hay que remontarse muchos años, concretamente unos 40 años. En esa época cada ordenador era concebido y creado con su propio sistema operativo y de programación. Nació por el deseo de desarrollar un lenguaje de programación que fuera aceptado por cualquier marca de ordenador, y fue en Mayo de 1.959 cuando en Estados Unidos se reunió una comisión denominada CODASYL (Conference On Data System Languages), integrada por fabricantes de ordenadores, empresas privadas y representantes del Gobierno, donde se dieron las primeras ideas de COBOL (Common Business Oriented Language). En un primer momento se llamó COBOL-60 a ésta versión por ser ese el año en que vio la luz.

A partir de aquí, apoyado por las sugerencias de los usuarios y expertos, su evolución no paró hasta que en 1.968 y posteriormente en 1.974, se dieron las primeras versiones consideradas standard, que fueron conocidas como Cobol Ansi.

Puestos en antecedentes veamos porque era y es tan grande la importancia del Cobol como lenguaje de programación.

Si nos fijamos en lo que significa el nombre, "lenguaje común orientado a los negocios", pronto podremos comprender que la verdadera misión de éste lenguaje es utilizarlo para la gestión y administración de las empresas. Y eso implica mucho, porque da igual a que actividad se dedique una empresa, pues en ella siempre habrá un departamento de gestión, y serán necesarios unos programas de gestión para hacerla funcionar.

Al principio, los mainframes eran los tipos de ordenador escogidos por las grandes empresas, sobre todo las del sector financiero, con sus propios sistemas operativos y sus propios compiladores de Cobol. Estos fueron afianzando al Cobol como un lenguaje perfecto para conseguir sus propósitos por su robustez, su fiabilidad y su perfecta adaptación a las necesidades de gestión.

Cuando los sistemas operativos empezaron a independizarse de las máquinas, fue cuando los fabricantes de compiladores Cobol comenzaron su expansión.

Así empresas como Liant, Acucorp, Merant, Fujitsu, Nigsun, IBM o Computer Associates, unas más antiguas otras más modernas, nos permiten a los programadores hoy en día seguir programando con éste lenguaje, y que nos sintamos ilusionados con el futuro.

EL LENGUAJE

Cobol es un lenguaje compilado. Es decir, consta de un código fuente perfectamente legible y adaptado a unas normas, que se puede realizar con cualquier editor de textos y un código objeto (compilado) dispuesto para su ejecución con su correspondiente runtime.

Cuando se ve un programa escrito en Cobol saltan a la vista varios aspectos:

  • Existen unos márgenes establecidos que facilitan su comprensión.
  • Está estructurado en cuatro partes, cada una de ella con un objetivo dentro del programa.
  • La gramática y su vocabulario tienen su base en la lengua inglesa.
En contraste con otros lenguajes de programación, Cobol no fue concebido para cálculos complejos matemáticos o científicos (de hecho solo dispone de comandos para realizar los cálculos más elementales), aunque si posee un elevado grado de precisión y velocidad del cálculo numérico, pudiendo manejar hasta 30 posiciones decimales. Su empleo es más apropiado para el proceso de datos en aplicaciones comerciales y la utilización de grandes cantidades de datos. Y aunque no sea el único lenguaje orientado a éste propósito, si ha sido el mas utilizado en toda la historia.

Cobol, es un lenguaje independiente de la plataforma en la que se ejecute, por lo tanto es posible ejecutar el mismo programa sin modificar nada en cientos de sistemas diferentes (Windows, Unix, MS-Dos, Linux, OS400, S36, S34, VMS, Netware, Solaris, etc...). Es un lenguaje que puede comunicarse a la perfección con cualquier base de datos existente en el mercado, así como generar aplicaciones 100%100 Windows. Se puede adaptar a la tecnología cliente-servidor, tecnología de enventos y puede estar presente en la web. En definitiva, se trata de un lenguaje capaz de todo.

EL PRESENTE

Siempre hemos estado acostumbrados a asociar los programas en Cobol a los terminales de texto, sin ninguna capacidad gráfica. Eran programas serios, impersonales y aburridos, que daban una impresión muy pobre a los usuarios que los utilizaban. Todo esto ha cambiado, y hoy nos sorprenderíamos al descubrir que muchos de los programas que utilizamos en Windows están realizados en Cobol, y nadie sería capaz de notar ni la más mínima diferencia, simplemente porque no existe.

Muchas empresas e instituciones han migrado toda su programación a otros lenguajes o sistemas de información. Han preferido pensar que Cobol es un lenguaje "viejo y anticuado" para cambiar, sin analizar todas las posibilidades que les podía ofrecer ese lenguaje que estaban utilizando desde hacía muchos años y con el cual nunca habían tenido problemas. Por supuesto con los consiguientes costos que eso conlleva. Las grandes bases de datos de importantes empresas de todo el mundo siguen estando en archivos Cobol. Miles de empresas siguen basando toda su programación en éste lenguaje, y esto no es porque sí, sino por la seguridad, rapidez y tranquilidad que les reporta tanto en el ámbito del lenguaje como en el del almacenamiento de datos. Cobol es un especialista en manejo de archivos y en indexación de datos, no importa el tamaño de los datos. Puede trabajar perfectamente con archivos de mas de 2 Millones de registros, sin por ello perder rendimientos en su procesamiento.

Los programas en Cobol no necesitan de grandes recursos para su perfecto funcionamiento. Pueden trabajar en cualquier máquina por su gran portabilidad y ofrecen una garantía de funcionamiento muy bueno. Es evidente que cuando se habla de garantía, de eficacia y de seguridad, es porque la experiencia contrastada de muchos años utilizando Cobol como lenguaje de programación para aplicaciones en muchos sistemas operativos, ha dado siempre unos resultados excelentes. Siguen existiendo programas que se ejecutan en máquinas con procesadores 80286 sin ningún problema.

Una de las causas por la que se producía esa migración, era por la incapacidad de Cobol para desarrollar aplicaciones 100%100 Windows. No porque el lenguaje no sea apropiado, sino porque no existían en el mercado herramientas que facilitaran a los programadores esa misión.

Hoy todo eso ha cambiado. Nos enfrentamos a un nuevo concepto en el desarrollo de aplicaciones basadas en Cobol. La integración total de Cobol y Windows es una realidad, no solo en programación, con unos interfaces magníficos, similares a los que existen en el mercado para otros lenguajes, sino en los resultados. Los programas Cobol para Windows, no solo son más atractivos, sino que son capaces de sacar todo el rendimiento de este sistema operativo y aprovechar todas sus características. Controles, eventos, propiedades, Active X... son palabras cada día más usuales para los programadores de Cobol, y además sin pasar por alto la tranquilidad que conlleva el trabajar con el lenguaje más usado y extendido.

Resulta curioso, escuchar en muchas conversaciones que el Cobol, es un lenguaje “muerto”. En realidad molesta. Cobol no depende de ninguna empresa en particular. Es un lenguaje universal que muchas empresas comercializan, ¿cómo se puede explicar entonces que existan varias empresas dedicadas a mantener éste lenguaje?.

Los programadores se encuentran con que no solo Cobol es capaz de adaptarse a Windows y a todas las nuevas tecnologías, sino que además disponen de más de una manera de hacerlo. Cada fabricante ha escogido su camino. Cierto es que con esto la estandarización de Cobol se pierde, pero en cambio los programadores ganan en posibilidad de elección. Ahora el código con el que siempre hemos trabajado cambia poco de unos compiladores a otros, pero en cambio las nuevas herramientas son diferentes y podemos elegir entre ellas, cual es la que mejor se adapta a la visión personal de la programación.

Para los programadores, el hecho de que los fabricantes de compiladores Cobol se hayan ido adaptando a las necesidades actuales del mercado, abre unas enormes esperanzas para acoger el futuro con entusiasmo y se aseguran una competitividad en éste cada día mas duro mundo de la programación.

Pero las ventajas de seguir programando en Cobol no se limitan a interfaces gráficas y total compenetración con sistemas operativos gráficos. Internet, la plataforma que todos auguran como el futuro, tampoco es un impedimento. El integrar las aplicaciones realizadas en Cobol con el mundo web es una realidad hoy, sin conocimientos añadidos, y sin necesidad de utilizar otros lenguajes. Los fabricantes facilitan las herramientas necesarias para conseguirlo en muy poco tiempo y con el mínimo esfuerzo.

Si de algo se puede enorgullecer el lenguaje Cobol, ha sido del esfuerzo de los compiladores por conseguir que los programas pudieran ser ejecutados en cualquier plataforma. Así cualquier programa objeto Cobol, puede correr exactamente igual en todos los sistemas operativos para los cuales su fabricante tenga disponibilidad de run-time. En algunos casos, incluso la cifra llega a las 600 plataformas diferentes, lo que da una visión amplísima de las posibilidades de un programa desarrollado en Cobol para no aislarse a un sistema y quedarse en el olvido a la hora de cambiar o migrar.

Esto da la posibilidad de aprovechar al máximo las capacidades de cada sistema. Por ejemplo podemos programar en Windows o en MS-DOS con mejores interfaces de usuario y mayor número de herramientas para facilitar al programador esa labor, y luego ejecutar los objetos y mantener los archivos en sistemas más robustos como Unix o Linux. Esta manera de trabajar reporta muy buenos resultados. Existen empresas que se han dado cuenta de cómo, con el paso de los años, los programas han cambiado a un buen ritmo sin perder la base y la idea con que fueron concebidos, aumentando además en capacidades, rapidez y rendimiento.

Algunas compañías han conseguido que incluso programando 100%100 Windows, las aplicaciones sean capaces de ejecutarse en Unix o cualquier otra plataforma sin ningún problema, obviamente sin obtener los mismos resultados. Es posible hacer un programa que contenga objetos como Editbox o Combobox, que en Windows tienen un aspecto gráfico y en Unix se puedan mostrar en pantalla sin capacidades gráficas, pero sin interceder en nuestro programa y con unos resultados de funcionamiento idénticos.

Se podría decir que hoy no hay ninguna limitación para éste lenguaje. La orientación a objetos, la programación orientada a bases de datos, la programación en la web... son opciones disponibles para Cobol que hacen de éste lenguaje una opción totalmente válida. Poder garantizar esto para un lenguaje de 40 años de existencia, en un mundo en el que las novedades duran escasamente algunos meses, es mas que suficiente para ofrecerle al Cobol un lugar preferente en la opción de los lenguajes de programación.

Hay que olvidar la idea de que los programadores Cobol son personas que se han quedado desfasadas, programadores que no están en nuestro tiempo. Hoy en día muchos jóvenes disfrutan de éste lenguaje y aún sigue reportando las mismas ilusiones y satisfacciones que antes.

EL FUTURO

Cobol-85, es la versión standard que se utiliza en la actualidad, pero se está en proceso de modernización y adaptación a los nuevos conceptos. Se espera una nueva revisión que proporcione a los programadores una productividad mayor y total independencia de la plataforma física.

En la próxima revisión se esperan mas de 140 cambios significativos, que afectarán a todos los aspectos del lenguaje, garantizando como siempre la herencia de revisiones anteriores. Representará un significativo avance para Cobol como lenguaje de programación.

La apuesta más grande de ésta nueva revisión, será sin duda la orientación a objetos y se conseguirá vincular totalmente esta tecnología al diseño de los futuros programas desarrollados en Cobol.

Esta nueva revisión significa algo mas que la simple introducción de mejoras. Significa el afianzamiento y la seguridad para los programadores de encontrarse con un lenguaje capaz de seguir adaptándose y seguir ofreciendo mejoras.

Cobol, como lenguaje, se merece un respeto muy grande que ha sido olvidado y en algunos casos despreciado por muchos. Sí, es cierto, que cada vez es más difícil iniciar a programadores Cobol, entre otras cosas porque las mismas instituciones que antes nos lo enseñaban con ilusión, hoy lo han echado en el olvido. Pero para todos los programadores que siguen apostando por Cobol como lenguaje y para el mantenimiento de los miles de millones de líneas de código escritas en este lenguaje, es esperanzador el hecho que se siga manteniendo como el lenguaje mas utilizado en la historia de la informática. Desde aquí hay que animar a todos los programadores actuales y próximos para que no olviden el Cobol como opción para conseguir sus metas. Que pregunten, examinen, evalúen... se quedarán gratamente sorprendidos de las posibilidades que éste lenguaje les puede brindar en la actualidad.



Este artículo proviene de Cobol en español
http://www.escobol.com

La dirección de esta noticia es:
http://www.escobol.com/modules.php?name=Sections&op=viewarticle&artid=39