“A 60 años del desarrollo de Cobol, ¿qué ha pasado?”


Esteban Hernández cuenta con una carrera de más de 24 años en consultoría para el sector financiero y de seguros. Para el sector financiero ha participado en proyectos con los principales bancos en México y Latinoamérica liderando implementaciones de Core Bancario. Actualmente es Account Manager para GFT México responsable de la administración del pipeline, las relaciones con los clientes y brindando soporte a los procesos de transformación digital de los clientes en México.

Carlos: Cobol lleva 60 años desde que fue desarrollado, algunos tenemos la idea que es un lenguaje de programación pero tu podrías aundar un poco más de ¿qué es y para qué sirve? Si es un lenguaje de nicho o si es utilizado en todas las industrias relacionadas con la programación

Esteban: Claro, primero te comento ¿qué es Cobol?, Cobol es un lenguaje de programación. La palabra Cobol es un acrónimo que significa Common Business Oriented Language, es un lenguaje que surgió en Estados Unidos y el objetivo fue que las instituciones financieras y no financieras que estaban apareciendo pudieran tener un lenguaje estándar de desarrollo, de tal forma que la interacción de la información entre las empresas fuera más sencilla. Surgiendo en los años sesenta tuvo un desarrollo y una aceptación en el mercado bastante amplia, es entonces cuando un grupo en el sector financiero adopta este lenguaje de una manera muy importante, así como todas aquellas empresas que le daban servicio a este sector. Entonces Cobol se convirtió en un lenguaje de programación muy popular durante las décadas de los setenta, ochenta y noventa en el desarrollo de todos los sistemas que atendían servicios financieros y empresas de telecomunicación. Lo anterior aunado al boom que había en aquellos años de estos servicios en el mundo ayudó a que este lenguaje fuera de uso común. Fue entonces que la demanda en el mercado de gente que supiera Cobol, asociado a que, en aquel entonces los mainframes de IBM, que era aquella empresa que estaba vendiendo la infraestructura para que creciera la industria de la informática, contribuyeron a que Cobol fuera este lenguaje de programación que tuviera un boom en las instituciones financieras y de telecomunicaciones. Y es por ello que todavía hoy muchos bancos conservan su Core System en este lenguaje.

Esteban Hernández, Account Manager para GFT México

C: Me surge la primera duda al respecto… ¿Hay digamos algunos otros lenguajes de programación paralelos a Cobol? Y en caso afirmativo, ¿por qué la industria se ha decantado por Cobol y no por otros lenguajes? ¿Qué características lo hacen superior, diferente o mejor a otros lenguajes existentes en el mercado? Históricamente refiriéndome a aquel momento en el que comenzaba, quizá en la década de los sesenta como mencionabas.

E: Hay quizá como dos momentos, claro Cobol surgió junto con otros lenguajes como RPG, como Basic, como Pascal incluso C. Pero la verdad es que para la transaccionalidad alta y la simplicidad de este lenguaje hizo que tuviera éxito frente a otros lenguajes como RPG. Ya hoy existe un sin número de lenguajes y también han surgido diversas arquitecturas; hoy en día Cobol es un lenguaje que muy pocos saben o conocen. Prácticamente los sistemas ya no se modifican en esa capa donde está Cobol. Lo que ha pasado en la industria es que las arquitecturas cuando surgió Cobol eran más sencillas. En Cobol yo hacía digamos, la estructura del negocio y también hacia el Front y también hacia la capa de Middleware. El día de hoy lo que ha surgido es que los layers de arquitectura se han diversificado y hoy ya tenemos otro tipo de lenguajes que nos ayudan a tener un mejor performance en esas capas de arquitectura. Existe Java, existen diversos frameworks. Cobol cuando existía no había aparecido los celulares. Cobol obviamente no es un lenguaje para desarrollar para un móvil, para eso existen otros lenguajes. Hoy Cobol ya no es un lenguaje común. Yo lo que te diría es se sigue utilizando en las capas inferiores de la arquitectura. Aquí sigue estando Cobol, por eso hoy en día Cobol todavía tiene y tendrá una vida en los siguientes 20 ó 30 años, por que digamos no ha sido necesaria digamos una revolución o una forma de hacer negocios distintas debajo de ese layer de arquitectura. Yo creo que hoy el desarrollo está hacia los dispositivos móviles, aquí es donde está el auge de la programación hoy en día. Cobol digamos que es un tema que va a seguir existiendo pero más por un grupo de especialistas y más por una necesidad de no cambiar algo que transaccionalmente está sirviendo y que no ha sido necesario digamos hasta ahora hacer un cambio.

C: Para ser un poco más específicos, ¿a qué te refieres con que Cobol ayuda a programar esas partes bajas de la arquitectura? ¿Qué es lo que se desarrolla en Cobol? Haciendo la analogía con una construcción me imagino que por muy desarrollada que esté la industria de la construcción, el cemento con grava, arena y agua siempre van a estar allí para hacer la construcción, independientemente de si se usa acero, cristal, etc.

E: Si estuviéramos en un edificio, si éste fuese muy moderno, sigue habiendo tuberías, sigue utilizándose la varilla… sigue existiendo la parte de plomería y yo te diría que así pondría yo en esta analogía a Cobol. Es por ello que se sigue utilizando. Pero hoy el desarrollo de los edificios -continuando con esta analogía- esta más enfocado en la parte más quizá de cómo se ve, el look & feel; en sí es un edificio que conjuga con el medio ambiente, si es un edificio inteligente, si utilizas elementos que reciclen. Pero bueno el edificio va a seguir manteniendo en su estructura el drenaje, instalaciones de luz y regresando al tema se va a seguir utilizando Cobol por un tiempo. La respuesta es sí, pero ya es algo menos demandado. En la medida que los bancos, ejemplo Santander, decida sustituir su sistema Core, que es el que está más abajo pues habrá un cambio, es decir llegará un día en que se deje de programar Cobol, pero hoy en día, en México y en muchos lugares del mundo, los sistemas Core de los bancos funcionan en Cobol. Los sistemas Core de las Telcom funcionan en Cobol. Se sigue usando… la respuesta es sí, pero menos porque hoy las modificaciones a sus sistemas no están en el Core si no en las capas de arriba que tienen que ver con los dispositivos y la transformación digital. Cobol tiene muy poco que ver con la transformación digital por eso ya no se usa tanto.

C: Para tener una idea más clara, ¿qué son los sistemas Core? ¿Qué ejecutan?

E: Claro, el sistema Core es el que lleva la lógica del negocio. En un banco es el sistema que calcula la tasa de interés. Es el sistema que autoriza una transacción. Es el sistema que identifica si un cliente tiene actividad como persona física o es una persona moral, ese es el Core.

C: Entonces, ¿tú crees que, como mencionas, todavía le queda algún tiempo? ¿Morirá? ¿No crees que pueda evolucionar? ¿Ya existe un sustituto u otro lenguaje que evolucione lo que hace Cobol?

E: Sí, va a seguir evolucionando. De hecho, hoy lo que tecnológicamente se está tratando de hacer para no depender de este lenguaje que a pocos les gusta actualmente. Las generaciones actuales no les gusta escuchar de Cobol. Ellos quieren ver lenguajes gráficos, quieren ver diseño… todo lo que envuelve a UX y UI. Entonces lo que ha pasado en el mercado es que se han creado interfaces más amigables para modificar la parte de Cobol si es necesario. Más amigables en el sentido de que no sean pantallas verdes y que sean otro tipo de interfaces, para que sea más amigable digamos un cambio. Y por otro lado, lo que la industria esta haciendo es cómo llegar; al final estos sistemas Core son los que tienen los datos. La industria lo que está haciendo es exponer estos datos en una capa de arriba. Entonces todo el desarrollo nuevo de lenguajes va a ir a consultar esa capa. Hoy un ejemplo bien básico es lo que estamos haciendo con el desarrollo de la parte móvil en Santander. Nuestra arquitectura está basada en la generación de un framework de Angular, para poder hacer desarrollos para iOS y para Android al mismo tiempo y también en un desarrollo llamado de API’s y microservicios que van a consultar solamente los datos en el sistema Core, no van a ejecutar transacciones, se van a una capa de exposición de datos. Entonces lo que se está haciendo es exponer la data, es decir te ayudas del Cobol para exponer los datos, pero los exponen en una capa en donde los datos los utilizas como tú quieras, sin necesidad del Cobol. Esto está ayudando a que no se utilice el lenguaje porque no es necesario hacerlo. Y a que de una forma más amigable haya más tecnología que pueda llamar los datos que se encuentran dentro del Core.

C: Y hablando un poco del negocio de GFT, ¿para alguien que trabaja o desarrolla en GFT es importante tener conocimientos de Cobol y, además, conocer diversos lenguajes?

E: Nuestros programadores utilizan diversos frameworks. Pero tratando de responder tu pregunta, ¿es importante Cobol en GFT? La respuesta no es importante porque el core de desarrollo de GFT no está en esa capa. El desarrollo de GFT está en el conocimiento de frameworks como Angular, Java, Spring Boot aquí es donde está en los diferentes layers arriba del Core, es donde está la importancia del desarrollo que hace GFT y lo que va a hacer. Temas de inteligencia artificial, temas de big data, en estos es donde nosotros somos fuertes y queremos incrementar esta fortaleza. Yo te diría que lo que si es importante, es que a través de Cobol podamos entender un poco la funcionalidad de los datos que se están utilizando, pero el lenguaje como tal Cobol no es tan importante, si en algún momento necesitamos hacer un desarrollo en Cobol buscaremos algún especialista para utilizarlo puntualmente y hasta allí porque no hay tanto negocio en el mercado

C: Cabe reconocer que Cobol fue una herramienta muy importante en el pasado. Ahora se queda como una base de los sistemas modernos en los que tiende a utilizarse cada vez menos, pero hay otros lenguajes u otros frameworks que se utilizan en GFT y que son más para marcar una tendencia, para desarrollar cosas nuevas que el mercado demanda, ¿correcto?

E: Claro, Cobol fue una tendencia en los ochenta, en los noventa hoy ya no existen esas tendencias. Yo creo en una empresa como GFT, nosotros dedicándonos al desarrollo si tu me preguntas cuál sería el porcentaje de programadores en Cobol que quisieras en tu empresa? Yo te diría que quizá el mínimo. Además es hoy muy caro tener especialistas en Cobol, porque los especialistas en este lenguaje son contados ahora en el mercado casi no hay. Sin embargo yo te diría que, siempre en la casa, regresando a las analogías… por muy moderna que sea tu casa, con los últimos modelos de electrodomésticos con tecnología de punta, siempre será bueno tener un destornillador de cruz y un martillo y unas pinzas, y quizá algunos clavos porque se puede descomponer cualquier cosa y necesitas arreglarlo.