Cobol destaca por sus capacidades de autodocumentación, buena gestión de archivos y excelente gestión de los tipos de datos.

 

miguel_fito_micro_focus¿Cambiaría su casa de sólidos muros de piedra por otra construida con materiales ligeros prefabricados? Probablemente no. Así piensan la mayoría de los directores de TI cuando se les plantea la opción de cambiar sus aplicaciones Cobol a otras más modernas. La razón es muy sencilla, millones de líneas de código sostienen el conocimiento, la experiencia y los procesos de negocio de las grandes empresas en todo el mundo y lo que se les ofrece, además de costoso y complejo, implica no pocos riesgos y no garantiza la robustez y fiabilidad de las aplicaciones actuales.  

 

Un paradigma que más tarde que pronto acabará por resolverse, porque lo lógico es seguir adelante, con los nuevos tiempos, pero sin renunciar a lo mejor del pasado. Desde la evolución y convivencia entre diferentes lenguajes a la migración o la más radical sustitución, todo es posible. El problema, es que mientras se toman estas decisiones, criticas para el negocio, los especialistas expertos en Cobol se van jubilando y con su marcha se pierde un conocimiento y una experiencia fundamental para el futuro, la única capaz de asegurar la transición futura.

 

Hoy nadie duda que Cobol tiene un futuro por delante, sólo o en compañía de otros. Evidentemente el lenguaje no es el mismo desde que nació en 1959, el Cobol (COmmon Business Oriented Language, Lenguaje Común Orientado a Negocios), impulsado por la comisión CODASYL, compuesta por fabricantes de computadoras, usuarios y el Departamento de Defensa de Estados Unidos, con el objetivo de crear un lenguaje de programación universal que pudiera ser usado en cualquier computador y que estuviera orientado principalmente a los negocios, es decir, a la llamada informática de gestión.

 

Cobol destaca por unas excelentes capacidades de autodocumentación, una buena gestión de archivos y una excelente gestión de los tipos de datos para la época, a través de la conocida sentencia PICTURE para la definición de campos estructurados. Para evitar 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.

 

Durante los últimos 50 años, ningún lenguaje ha representado mejor la esencia de la informática que Cobol. Disponible en la mayoría de plataformas de programación, Cobol es uno de los lenguajes de base con mayor aceptación en el mundo. Además, ha sido utilizado para todo tipo de desarrollos, desde en la redacción de un informe hasta en las transacciones fundamentales para la mejora de paquetes de software. Sin embargo, a pesar de estar instalado en la mayoría de las empresas, Cobol hoy está acorralado tanto por la desaparición vegetativa de los especialistas como por el uso de otros lenguajes de programación más de moda.

 

A comienzos de los ochenta, Cobol empezó a quedarse anticuado frente 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.

 

Frente a la creencia de que el 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. Una circunstancia que permite garantizar la compatibilidad de los sistemas antiguos con los más modernos, además de la seguridad de contar con un lenguaje es perfectamente estable y probado.

 

Según estudios recientes, 75% de los datos generados por negocios son procesados por programas creados en Cobol, y en otro informe de 1997 estima que 80% de los 300,000 millones de líneas de código existentes están creados en Cobol, escribiéndose 5,000 millones de líneas nuevas de Cobol cada año. Así, hoy por hoy, la programación en Cobol es uno de los negocios más rentables del mundo de la informática.

 

Los desafíos

Este código, sin embargo, se enfrenta hoy a diferentes retos. El principal: la imposición de otros lenguajes de programación en mayor auge y la consecuente desaparición de especialistas debido a la falta de profesionales de nueva generación con conocimientos más profundos en Cobol. De cualquier forma, la jubilación de estos especialistas no quiere decir que haya disminuido la demanda, sino que hay un vacío de conocimiento que es necesario aminorar cuanto antes. Así, el nuevo reto pasa por la formación y expertise de las nuevas generaciones para reestructurar, eliminar errores y documentar los sistemas que conocen para permitir que los nuevos programadores puedan ser productivos sin depender de las décadas de experiencia de los que se retiran. Herramientas como Relativity, SEEC, Micro Focus, ASG e IBM pueden ayudar en este esfuerzo.

 

El traslado de las implementaciones Cobol hacia paquetes o hacia diferentes lenguajes es una decisión a largo plazo que entraña un alto riesgo. Pese a todo, la solución pasa por la vía del fomento de esta nueva generación de programadores expertos en Cobol para soluciones de migración que permitan un ahorro de costos y mayor flexibilidad. Aún estamos a tiempo de salvar lo que un día sentó las bases que hoy usamos en el mundo de la informática.

 

A pesar de ser percibido por el mercado como algo “desfasado”, Cobol es un lenguaje de alto rendimiento. Las compañías que se planteen el cambio de lenguajes, también necesitarán replantear las arquitecturas de sus aplicaciones. Las migraciones hacia arquitecturas totalmente distribuidas requieren cambios en todo el proceso para reducir el impacto de los cambios en el rendimiento de los perfiles.

 

Hay pocas cosas que duren 50 años, especialmente en el terreno tecnológico y quizá Cobol sea la “Madre de todas las paradojas”, pero Cobol se muestra más vital que nunca y con un inmenso futuro por delante. La razón es muy sencilla: las aplicaciones creadas con Cobol son las más robustas y seguras, dos cualidades a las que nadie, especialmente las grandes organizaciones, quieren renunciar.

 

Con este pasado solo queda pensar el un futuro de gloria en el que Cobol seguirá evolucionando y, sobre todo, trasladará los mejor de si mismo a otras arquitecturas y plataformas. La formación de nuevos profesionales, la documentación de las aplicaciones existentes, que permita su evolución futura, y las alternativas de migración que ofrece serán los próximos desafíos.