03 mayo 2024

CoBoL, la Leyenda continua

Creado hace 65 años, COBOL es un lenguaje de programación bastante común en programas y softwares que utilizan las entidades e instituciones financieras. Su nombre es un acrónimo para Commom Business-Oriented Language, que se traduce como "Lenguaje común orientado a las empresas".
En resumen, COBOL es un programa que se ha vuelto tendencia en los últimos años pese a lo antiguo que es. Después de todo, el 43% de los sistemas bancarios de Estados Unidos están hechos sobre el lenguaje de COBOL, dando como resultado que el 80% de las transacciones que se realizan en el país utilicen este lenguaje.

¿Cómo se desarrolló COBOL?
La idea de crear el lenguaje salió en una reunión del Pentágono en Mayo de 1959 y fue gracias a CODASYL (un comité de trabajo), quien también se reunieron empresas como IBM y desarrolló COBOL como respuesta a la necesidad de automatización de procesos por parte de las empresas ante ciertas operaciones.
Mary Hawes estaba harta de programar en ensamblador para los ordenadores mastodónicos de su empresa, Burroughs Corporation, así que logró organizar una reunión con académicos, fabricantes y usuarios de ordenadores y propuso una idea genial: "¿Qué tal si creamos un lenguaje de programación más fácil de entender y usar que el ensamblador o el código máquina?"
La respuesta de aquel comité fue un rotundo sí, y fue entonces cuando Grace Hopper, que ya había trabajado un un protolenguaje llamado FLOW-MATIC, acabó formando parte fundamental de la creación de COBOL, el lenguaje de programación procedural que se ha convertido en una leyenda. La principal impulsora de este lenguaje de programación fue Grace Murray Hopper.

Y aunque parezca increíble COBOL sigue en uso...
En Marzo de 1959 Hawes trabajaba como programadora en Burroughs Corporation. Por aquel entonces ya empezaba a haber intentos claros de crear lenguajes de programación más accesibles que el horripilante código máquina o los lenguajes en ensamblador que existían para las distintas platformas de la época.
A Hawes se le ocurrió que sería interesante crear un nuevo lenguaje de programación universal. Uno que además estuviera orientado a entornos empresariales y que pudiera funcionar en distintos ordenadores para ejecutar tareas como cálculos, control de inventario o un registro de los débitos y los créditos.

Esta programadora logró que la propuesta fuera discutida por un comité de expertos de la época. Entre ellos estaban los del Departamento de Defensa de los Estados Unidos y junto a académicos, fabricantes y usuarios avanzados se creó el llamado Short Range Committee of the Conference on Data Systems (CODASYL). Aquel comité recibió fondos del gobierno y se puso a trabajar en la especificación de un nuevo lenguaje.
Los responsables del proyecto tuvieron como base un par de lenguajes comerciales. Uno desarrollado por entonces, FLOW-MATIC -creado por Grace Murray Hopper, que abogaba por programas de ordenador que fueran fácilmente inteligibles- y otro que sólo estaba definido, el Commercial Translator de IBM. Del lenguaje de Hopper también se heredaron los nombres largos de variables y la separación de las instrucciones y las descripciones de datos.

Los responsables del proyecto tuvieron como base un par de lenguajes comerciales. Uno desarrollado por entonces, FLOW-MATIC -creado por Grace Murray Hopper, que abogaba por programas de ordenador que fueran fácilmente inteligibles- y otro que sólo estaba definido, el Commercial Translator de IBM. Del lenguaje de Hopper también se heredaron los nombres largos de variables y la separación de las instrucciones y las descripciones de datos.

Así nació COBOL (COmmon Business-Oriented Language), un lenguaje de programación procedural e imperativo cuyos comandos se diseñaron para que se parecieran al inglés convencional. Aquel nombre, sugerido por Bob Bemer fue el definitivo, pero se barajaron otros como BUSY (Business System), INFOSYL (Information System Language) y COCOSYL (Common Computer Systems Language).
Aquel lenguaje lo tuvo difícil al principio a pesar del apoyo del DoD, de IBM o de UNIVAC. Otras empresas como Honeywell trabajaban por aquel entonces en FACT, el que consideraban como el lenguaje de programación empresarial del futuro, y que realmente tenía ideas muy innovadoras. El problema es que FACT no estaba soportado por el hardware de la época, así que acabó siendo COBOL el que se impuso, en septiembre sus creadores ya tenían preparada la sintaxis básica.
Los programadores Donald Cropper, K.C. Krishnan,
Grace Hopper y Norman Rothberg con la consola
del Univac I. Fuente: IEEE History Center

La siguiente versión del lenguaje de programación llegaría tan solo 2 años después en 1961 con COBOL–61, el cual solo tenía pequeñas modificaciones.
Pocos meses después comenzaron a aparecer los primeros programas en COBOL que demostraron efectivamente esa interoperabilidad que permitía ejecutarlos en ordenadores de distintos fabricantes. Los fabricantes fueron sumándose a CODASYL y crearon diversos compiladores y el lenguaje fue creciendo en popularidad de forma notable.
En 1970 ya era el lenguaje de programación más utilizado en todo el mundo, y en 1972 fue adoptado por la organización de estandarización ANSI, pero aquel lenguaje estándar fue creciendo a su propio ritmo con diversas versiones que iban añadiendo distintas versiones que se nombraban con el año de publicación de las mismas.
Su siguiente actualización no llegó hasta casi 2 décadas después en 1974 y 1985 (COBOL-74, COBOL-85).

Sin embargo, su última actualización es del año 2002 (COBOL-2002), permitiendo que, ahora en libertad, pueda utilizar objetos encapsulados como parte normal de la programación que se puede desarrollar con este lenguaje de software, que tomó diversas características de C++ y Smalltalk.
COBOL no pertence a ninguna empresa o proveedor en particular (como el caso de Visual Basic con Microsoft).
El Comité ANSI COBOL es independiente del proveedor, y sólo se preocupa de legislar los estándares del lenguaje sintáctico.
Eso no significa que COBOL haya sido adaptado especificamente a plataformas hardware o diferentes sistemas operativos como Windows, Unix, AS/400, OS/2, etc.

¿Por qué se ha vuelto COBOL tan importante?
Pero ya basta de tanto tecnicismo, que luego nos aburrimos. Es hora de hablar por qué tomó una relevancia de forma repentina en los últimos años. Pero la verdad es que la respuesta es fácil: COBOL ofrece múltiples opciones de uso:
Al ser el primer lenguaje de programación, cuya lengua madre original es el inglés, se puede trabajar con él con suma facilidad, ya que todas las instrucciones se pueden configurar a través de codificaciones simples por palabras en inglés.

También puede ser utilizado como auto-documentación.
Ofrece la ventaja de manejar y trabajar con grandes cantidades de datos.
A diferencia de otros softwares o lenguajes de programación, COBOL es 100% compatible con sus versiones anteriores pese a los años de diferencia entre sus actualizaciones.
Al ofrecer mensajes de errores más rápidos y eficaces que otros lenguajes de código, ayuda a encontrar soluciones con más facilidad.
Sentencias de la Procedure Division, la sección del programa
en la que se define lo que es el programa en sí en COBOL.
Fuente: El Tamiz.

¿Por qué se sigue utilizando COBOL?
Muchos softwares de empresas financieras están basadas en el lenguaje de programación COBOL. Estados Unidos ya dejó claro que al menos en el Departamento de Seguridad Nacional o la Administración de la Seguridad Social seguíran usando COBOL en algunos de sus sistemas.

¿Te has preguntado cuánto sería el coste por reescribir todas estas millones de líneas de código en un lenguaje nuevo? Aparte de que no es una tarea simple, ni para una sola persona, tampoco es barato.
Es por esto que a día de hoy, COBOL sigue siendo uno de los lenguajes de programación más antiguos, pero que todavía se sigue utilizando en la actualidad. Sin embargo, hay un grave problema para encontrar desarrolladores que sepan trabajar con este lenguaje de código.
COBOL se dejó de impartir en las universidades hace muchos años, razón por la cual encontrar expertos en su uso es bastante complicado.
Tarjetas perforadas de un programa en COBOL.
Fuente: El Tamiz

De hecho millones de personas dependen parcialmente de estos sistemas porque si hay un sector en el que COBOL esté especialmente integrado es en el de las instituciones financieras y de seguros. También en las administraciones públicas, y como aseguran en ZDNet ya hay esfuerzos para trasladar aplicaciones COBOL a la nube, lo que parece que hará que este lenguaje viva muchos años más.

Compiladores COBOL gratuitos
Que COBOL se use en grandes sistemas puede hacer pensar que sería complicado aprender COBOL en tu casa. Pero existen compiladores gratuitos en COBOL, que nos puede ayudar a saber como programar en COBOL e ingresar al maravilloso mundo de los programadores COBOL, tambien llamados "COBOLeros".

Tiny COBOL
Tiny COBOL es un compilador de COBOL de código abierto. Implementa los estándares de COBOL-85, es portátil y funciona en diferentes plataformas y sistemas operativos, como FreeBSD, BeOS, Linux y Windows. Está bajo la Licencia Pública GNU.

GnuCOBOL
OpenCOBOL es un compilador de código abierto. También te lo puedes encontrar con el nombre de GnuCOBOL. Este compilador funciona con los estándares COBOL-85 y COBOL-2002, e implementa muchas extensiones de compiladores COBOL que ya existen en el mercado.
OpenCOBOL funciona de la siguiente manera: traduce el código COBOL que escribes al lenguaje C, y luego compila el código traducido con un compilador nativo.


Que te diviertas!

No hay comentarios:

Publicar un comentario