En un artículo aparecido en el portal Dr. Dobb’s, Michael Swaine trata de convencernos de que COBOL (COmmon Business-Oriented Language) sería uno de los lenguajes que tendríamos que aprender para volvernos más "empleables". En su largo artículo donde habla sobre las ventajas, longevidad y amplio uso del COBOL, básicamente dice que con la adición de la programación orientada a objetos, COBOL es una buena herramienta para hacer SOA, haber afirmado algo como eso, o sencillamente deslizar ese tipo de ideas puede tener dos explicaciones, o uno estuvo borracho cuando lo escribió, o recibió dinero por hacerlo.
Swaine dice de que hay 240 mil millones de líneas de programas escritos en COBOL que deben ser mantenidas y que es más fácil darles mantenimiento que portarlas a otro lenguaje, además incluye un dato importante, que la gran mayoría de estas líneas corren en aplicaciones desarrolladas en y para el sector financiero, pone el caso específico de Merril Lynch quien dice que el 70% de sus aplicaciones corren sobre COBOL. Bueno con sólo la mención del hecho anterior entiendo porque hay todo este completo desastre en el sector financiero en estos días.
Bromas aparte, no hay nada de malo en que una tecnología se vuelva obsoleta y sea reemplazada, el ciclo de la vida es nacimiento, crecimiento, madurez, reproducción, envejecimiento y muerte. Ocurre con todo organismo sano, aquello que no sigue ese ciclo sencillamente es una perversión, un cáncer. Cada célula de nuestro cuerpo cumple su ciclo de vida y es reemplazada, las que se recisten ha seguir ese ciclo se transforman en cáncer y ya no desempeñan su función aportando al conjunto, sino que se convierten en un parásito devorando el aporte de las otras células sanas que cumplen su función. Hace 40 años surgieron tres lenguajes padres por llamarlos de algún modo, FORTRAN (que dió origen a los lenguajes de programación imperativos), LISP (que dió origen a la programación funcional) y COBOL que no ha dado origen a nada más y cual Cronos moderno ha deborado a todos sus hijos.
COBOL ha crecido de una manera tan hipertrófica, incorporando nuevas tecnologías a su vieja y estricta sintaxis, que las empresas que lo usan, viven para mantenerlo, en lugar de que COBOL sea una herramienta para potenciar la estrategia de esa empresa. Casos como el problema del estado de California que no podía hacer un simple cambio en la planilla de sus trabajadores (leer "Atados al pasado" para más información) es una clara muestra de que la longevidad de COBOL no debe ser celebrada como un logro del lenguaje, sino temida como un síntoma de cáncer.
Una de las métricas que más les gusta mostrar a los defesores de COBOL es el número de líneas del lenguaje que están en uso actualmente, pero hay que reflexionar sobre la calidad y no sólo la cantidad, Abraham Licoln dijo: "No es cuántos años has vivido, sino cuánta vida hay en tus años". El abundante número de líneas de código en COBOL tiene explicaciones muy simples, en primer lugar COBOL es un lenguaje que trata de copiar la verbalidad del idioma inglés, por lo tanto es muy protocolar, es decir para hacer lo mismo que haríamos con un puñado de líneas PHP, Python o Java, COBOL necesita varias páginas de código. El segundo factor que contribuye a esta abundancia de código en ejecución es que cada institución financiera desarrolla su propia aplicación, es decir cada banco o financiera intenta inventar por ellos mismos la rueda.
Además COBOL representa una corriente de pensamiento que sabemos es ineficiente, Google nos ha probado que un algoritmo sencillo, pero que accede a una gran cantidad de datos produce mucha mejor calidad de información que un algoritmo sofisticado accediendo sobre un reducido número de datos. La gram mayoría de programas COBOL manejan datos que son miles de veces inferiores en cantidad a los que manejan las aplicaciones más modernas. Los cientos de millones de PCs en el mundo corriendo aplicaciones sobre lenguajes de programación más modernos manipulan mucha más data que los programas COBOL por unidad de tiempo.
Pero por qué no eliminar a COBOL completamente entonces, la respuesta está en sus orígenes, mientras la gran mayoría de lenguajes de programación han sido desarrollados por programadores para programadores y han reflejado los cambios en los paradigmas de la programación, COBOL fue un lenguaje creado por gerentes, que querían de vez en cuándo controlar que estaban haciendo sus programadores, lo cuál era una buena idea cuándo las computadoras simples y los sistemas no eran muy complejos, pero es en nuestros días esta deformidad genética en el leguaje que ya no produce ningun beneficio, ya no hay ningun gerente que quiera leer un programa COBOL, pero tampoco hay ninguno con suficiente honestidad para aceptar que se cometió un error y corregirlo, poque si lo hubiera ocurrirían dos cosas, una que COBOL hace tiempo que no estaría en uso y la segunda es que no estaríamos en medio de toda esta crisis financiera.