Cobol - Ayer, Hoy y Siempre

Este lenguaje creado en 1959 todavía está presente en aplicaciones del mundo financiero y empresarial, y está muy lejos de desaparecer.

COBOL, para los entusiastas de la informática, evoca varias cosas: Puede ser un lenguaje de programación arcano, digno de salas de computadores con cintas magnéticas. También para otros, se refiere al lenguaje en que muchas aplicaciones legacy están hechas, generalmente financieras o de control industrial. Otros más entendidos nos dirán que la sintaxis de ABAP (el lenguaje en que se sustenta SAP) toma prestado muchos elementos de él.

Si bien COBOL no se imparte como elemento en muchas mallas curriculares de Ingeniería Informática y ciertamente no está en la lista de lenguajes populares de github, lo cierto es que es un elemento importante en lo que es la informática y está, muy, pero muy lejos de pasar al olvido. 

COmmon Business Oriented Language, eso significan las iniciales de COBOL, que nace en 1959, fruto del trabajo de un comité de la industria privada, universidades y gobierno de Estados Unidos, como un esfuerzo de encontrar una plataforma unificada para poder desarrollar programas de computador, con un enfoque de gestión o de negocios (como dice su nombre).

Su diferencia con C es que mientras este último tiene un foco en los sistemas informáticos propiamente tales, COBOL siempre ha tenido como foco productos utilizables por compañías, lo que lo hacía ser la elección por default para construir aplicaciones financieras. Es interesante este aspecto. Consideremos este caso, donde tu negocio descansa en la capacidad de manejar electrónicamente un recurso monetario, y que este negocio descansa en un programa hecho en los años 70 (por ejemplo). El costo de implementar la solución en un lenguaje "más actual", hacerle tests, controles de cambios más los costos de oportunidad por no funcionamiento puede llegar a ser tan astronómico, que cambiarse es un gran "NO". Eso hace que al día de hoy haya literalmente billones de líneas de código de COBOL corriendo en aplicaciones muy críticas. Para qué decirlo, el año 1999, fue un año dorado para los llamados "veteranos" programadores de COBOL, ya que muchas instituciones se enfrentaban a la llamada "Crisis Y2K" y fueron llamados a trabajar en las revisiones de código de bases de datos de salud, programas para calcular intereses y un cuanto hay.

Imagen Intermedia

En el artículo "COBOL will outlive us all" (COBOL nos sobrevivirá a todos), se comenta cómo COBOL seguirá estando presente por mucho tiempo. El artículo menciona que muchas compañías prestigiosas en rubros muy variados tales como aseguradoras, manufactureras, hospitales, etc, poseen aplicaciones tan cruciales para negocio y que han crecido de manera tan compleja, que los intentos por reemplazarlas han fracasado.

Una de las bromas frecuentes en informática es "¿Cuál es la  diferencia entre hardware y software ? Cuando usas el hardware  demasiado tiempo, este se rompe, mientras que si usas el software por demasiado tiempo, este funciona". El artículo hace un hincapié en cómo muchas universidades en sus mallas han abandonado la enseñanza de COBOL, privilegiando lo moderno, y como, dado que siguen existiendo programas de negocio muy relevantes corriendo en instituciones, empiezan a escasear las personas que pueden mantenerlos.

Esto es, si quieres un trabajo en Tecnologías de Información con altas chances de durar mucho tiempo, aprende a programar en COBOL. ¿Qué tratan de hacer estas grandes empresas y organizaciones? Muchas intentan con un muy gran costo remplazar  sus aplicaciones, o tratan ellos mismos (como es el caso de IBM) de entrenar a sus propios programadores. En cualquiera de los casos, el autor promueve que no solo el profesional podrá asegurarse un trabajo relativamente impermutable en el tiempo, sino que tiene la posibilidad de entender las reglas de negocios de empresas grandes, aumentando su valor agregado.

Muchas razones pueden motivar al programador a escoger su oficio. El conocimiento de COBOL ofrece la  capacidad de intervenir en programas de muy alto perfil (hablamos de aplicaciones que pueden llevar  más de 20 años corriendo), con un buen prospecto financiero - dada la escasez de personas disponibles para mantenerlos - y, dada la evidencia que hemos observado, olvidándose de la volatilidad que enfrentan constantemente los desarrolladores de tecnologías nuevas (sí, nosotros los web developers).

¿Qué opinas? ¿Bajarías un tutorial de COBOL?, ¿Lo pondrías en tu CV?.

Más enlaces

powered byDisqus