Cobol és un dels llenguatges de programació més antics
Qui no ha sentit parlar del llenguatge de programació «COBOL» i el primer que se'ls ve a la ment és la imatge de dalt, i és que realment no és per a més, ja que aquest llenguatge de programació va fer 64 anys i segueix sent un dels llenguatges de programació més antics en ús actiu, així com un dels líders en termes de quantitat de codi escrit.
Per a molts dels que a penes inicien al món de la programació solen escoltar i llegir molt sobre els llenguatges de programació moderns i quin sol ser el més rendible o el que té força futur. Però quan es tracta de mirar enrere són pocs els llenguatges que realment solen generar interès.
I és que per exemple dins dels principals llenguatges de programació «no recents» que solen ser recomanats per aprendre estan C, C++, C#, java, php dels quals C vindria sent el que influencio en els altres, però que cadascú té les seves millores en comparació amb C.
D'aquí en endavant, és molt estrany que et faci una recomanació d'aprendre un llenguatge més vell, digui's Pascal, Fortran o COBOL, estem parlant de lligues majors, ja que aquests tenen una corba d'aprenentatge força alta, o bé potser no tant i podria ser jo l'exagerat per haver crescut amb l'escola de C.
Però bé, deixant el tema de banda, a l'article de dedicarem aquest espai per haver una mica sobre GnuCOBOL, el qual és un compilador open source per a COBOL i el qual després de gairebé dos anys de desenvolupament, des del llançament anterior, s'ha donat a conèixer la seva nova versió «GnuCOBOL 3.2».
Sobre GnuCOBOL
GnuCOBOL es posiciona com un compilador open source que permet traduir programes COBOL a una representació C per a la posterior compilació utilitzant GCC o altres compiladors C. Bàsicament el que fa GnuCOBOL és traduir un programa COBOL a un programa C, el qual pot llavors ser compilat en el codi real utilitzat per l'ordinador o en una biblioteca on altres programes poden anomenar-lo.
A UNIX i sistemes operatius similars (com Linux) s'utilitza el compilador GNU C. Per a Windows, el paquet Visual Studio Express de Microsoft proporciona el compilador de C. La compilació en dos passos es realitza normalment amb una sola ordre, però hi ha una opció que permet al programador aturar la compilació després que s'hagi generat el codi C.
Screenshot de GnuCOBOL
L'script de configuració que configura la compilació de GnuCOBOL té opcions que inclouen:
- elecció del compilador de C i les seves opcions per a la compilació de la posttraducció
- sistema de gestió de base de dades per al suport ISAM
- inclusió de iconv
Dins de les principals característiques del compilador, s'esmenta que admet 19 dialectes del llenguatge COBOL, admet parcialment l'especificació COBOL 2014 i passa les proves de compatibilitat 9740 COBOL 85. Es proporciona un depurador integrat per depurar programes.
GnuCOBOL 3.2
Sobre la nova versió de GnuCOBOL 3.2, es destaquen els canvis següents:
- Treball millorat amb dialectes del llenguatge COBOL. La configuració s'ha adaptat per adaptar-se millor al dialecte seleccionat.
- S'hi va afegir suport per a un nou dialecte: GCOS. S'implementen expressions, funcions i elements de sintaxi específics de diversos dialectes antics i nous de l'idioma.
- Temps dexecució significativament millorat i consum de memòria reduït, especialment quan es compila amb comprovacions de temps dexecució habilitades.
- fileio afegeix suport per al tipus de fitxer «LINE SEQUENTIAL», definit a l'especificació COBOL 2023 i dissenyat per manejar arxius on les dades estan separades en línies.
- Eines millorades per depurar a nivell de codi font utilitzant GDB.
- Implementació millorada de compilacions repetibles.
Per als interessats en poder obtenir la nova versió de GnuCOBOL, podeu obtenir el codi font d'aquest compilador des del següent enllaç.
Per als qui són usuaris d'Arch Linux i derivats, poden instal·lar des del repositori (encara versió anterior), amb l'ordre següent:
sudo pacman -S gnucobol
Finalment si estàs interessat a poder conèixer més al respecteo, pots consultar els detalls a el següent enllaç.