GnuCOBOL, un compilador open source que traduce COBOL a C
Quien no ha escuchado hablar del lenguaje de programación «COBOL» y lo primero que se les viene a la mente es la imagen de arriba, y es que realmente no es para más, ya que este lenguaje de programación cumplió 64 años y sigue siendo uno de los lenguajes de programación más antiguos en uso activo, así como uno de los líderes en términos de cantidad de código escrito.
Para muchos de los que apenas inician en el mundo de la programación suelen escuchar y leer mucho sobre los lenguajes de programación modernos y cuál suele ser el más rentable o el que tiene bastante futuro. Pero cuando se trata de mirar hacia atrás son pocos los lenguajes que realmente suelen generar interés.
Y es que por ejemplo dentro de los principales lenguajes de programación «no recientes» que suelen ser recomendados para aprender están C, C++, C#, java, php de los cuales C vendría siendo el que influencio en los otros, pero que cada uno tiene sus mejoras en comparación con C.
De ahí en adelante, es muy raro el que te haga una recomendación de aprender un lenguaje más viejo, dígase Pascal, Fortran o COBOL, estamos hablando de ligas mayores, ya que estos tienen una curva de aprendizaje bastante alta, o bueno tal vez no tanto y podría ser yo el exagerado por haber crecido con la escuela de C.
Pero bueno, dejando el tema de lado, en el articulo de dedicaremos este espacio para habar un poco sobre GnuCOBOL, el cual es un compilador open source para COBOL y el cual después de casi dos años de desarrollo, desde el lanzamiento anterior, se ha dado a conocer su nueva versión «GnuCOBOL 3.2».
Sobre GnuCOBOL
GnuCOBOL se posiciona como un compilador open source que permite traducir programas COBOL a una representación C para su posterior compilación utilizando GCC u otros compiladores C. Básicamente lo que hace GnuCOBOL es traducir un programa COBOL a un programa C, el cual puede entonces ser compilado en el código real utilizado por el ordenador o en una biblioteca donde otros programas pueden llamarlo.
En UNIX y sistemas operativos similares (como Linux) se utiliza el compilador GNU C. Para Windows, el paquete Visual Studio Express de Microsoft proporciona el compilador de C. La compilación en dos pasos se realiza normalmente con un solo comando, pero existe una opción que permite al programador detener la compilación después de que se haya generado el código C.
El script de configuración que configura la compilación de GnuCOBOL tiene opciones que incluyen:
- elección del compilador de C y sus opciones para la compilación de la post-traducción
- sistema de gestión de base de datos para el soporte ISAM
- inclusión de iconv
Dentro de las principales características del compilador, se menciona que admite 19 dialectos del lenguaje COBOL, admite parcialmente la especificación COBOL 2014 y pasa las pruebas de compatibilidad 9740 COBOL 85. Se proporciona un depurador integrado para depurar programas.
GnuCOBOL 3.2
Sobre la nueva versión de GnuCOBOL 3.2, se destacan los siguientes cambios:
- Trabajo mejorado con dialectos del lenguaje COBOL. La configuración se ha adaptado para adaptarse mejor al dialecto seleccionado.
- Se agregó soporte para un nuevo dialecto: GCOS. Se implementan expresiones, funciones y elementos de sintaxis específicos de varios dialectos antiguos y nuevos del idioma.
- Tiempo de ejecución significativamente mejorado y consumo de memoria reducido, especialmente cuando se compila con comprobaciones de tiempo de ejecución habilitadas.
- fileio agrega soporte para el tipo de archivo «LINE SEQUENTIAL», definido en la especificación COBOL 2023 y diseñado para manejar archivos donde los datos están separados en líneas.
- Herramientas mejoradas para depurar a nivel de código fuente utilizando GDB.
- Implementación mejorada de compilaciones repetibles.
Para los interesados en poder obtener la nueva versión de GnuCOBOL, pueden obtener el código fuente de este compilador desde el siguiente enlace.
Para quienes son usuarios de Arch Linux y derivados, pueden instalar desde el repositorio (aun versión anterior), con el siguiente comando:
sudo pacman -S gnucobol
Finalmente si estás interesado en poder conocer más al respecto, puedes consultar los detalles en el siguiente enlace.