Ir al contenido principal

Entradas

Cobol: ¿Un lenguaje muerto?

Is Cobol a dead language?
Muchos consideran que los lenguajes pueden morir, pero quizás se equivocan. Los lenguajes no mueren si existe alguien que los usa o sigue usando. Ya sea el vetusto Fortran y/o el lenguaje C e incluso el BASIC son lenguajes que se siguen usando en la actualidad.  No es sorpresa encontrar ofertas laborales donde solicitan programadores con conocimiento en Cobol.


Why should you program in Cobol? 
Algunas razones podrían ser:
Las empresas (sobre todo los bancos) se niegan a abandonar sus aplicaciones.Si funciona, ¿por qué debería cambiarlo? (una regla no escrita dentro de la programación)Los programas desarrollados en Cobol son eficientes para cálculos matemáticos y el procesamiento de grandes cantidades de datos e información, superando a Java y Python.  Crear aplicaciones en cualquier otro lenguaje moderno (Java, C#, Kotlin, etc.) que sustituyan a aplicaciones hechas en Cobol no son factibles o muchos menos costeables (es decir, las empresas no lo consideran ren…
Entradas recientes

Ejecutar un proceso batch en Groovy

Proceso batch en Groovy.
En este ejemplo vamos a ver como ejecutar un proceso batch en Groovy. Para ello tenemos que saber que los archivos batch son útiles para la automatización de tareas,por ejemplo revisar el espacio en disco, ver el contenido de un directorio, ,etc. En este ejemplo vamos a crear un archivo BAT (MS-DOS).

Abrimos cualquier editor de texto (como notepad++, sublime text 2, etc.) y creamos un nuevo archivo, le llamaremos "miscomandos.bat" (también se puede cambiar la extensión por .cmd).
@echooffechoHolavisitantedehttp://alquimistadecodigo.blogspot.com/@pause
Desde terminal de comando nos ubicamos en el directorio donde se creo el archivo y tecleamos su nombre, aparece el mensaje: Hola visitante de https://alquimistadecodigo.blogspot.com
¿Groovy permite ejecutar comandos del sistema? Así es, basta que teclees desde terminal "groovysh"te abrirá el REPL. Escribe esto:
println"help".execute().text
GroovyShell(2.1.5,JVM:1.7.0_05)Type'…

Cobol: bloques

Un bloque en Cobol es similar a una función. Un bloque nos ayuda a dividir nuestro código y hacerlo más legible. Recordemos un poco la estructura básica de un programa en Cobol.

IDENTIFICATIONDIVISION.PROGRAM-ID.NOMBRE.AUTHORAUTOR.INSTALLATION.ALQUIMISTA.DATE-WRITTEN.dd/mm/yy.DATE-COMPILED.SECURITY.NOESCONFIDENCIAL.*>BLOQUE DE DATOSDATADIVISION.WORKING-STORAGESECTION.*> BLOQUE PRINCIPALPROCEDUREDIVISION.STOPRUN.
Recordar también que la extensión de un programa Cobol es *.cbl y/o *.cob.

¿Cómo podemos crear un bloque en Cobol? 

La sintaxis es la siguiente:

BLOQUE.*> CÓDIGO.
¿Cómo podemos definir una variable y qué tipo está permitido?

*> PARA COLOCAR VARIABLESDATADIVISION.WORKING-STORAGESECTION.*> SE PUEDE USAR PIC O PICTURE*> EJEMPLOS:*> NÚMERO CON SIGNO, VALUE PARA ASIGNAR UN VALOR AL INICIO01 WS-NUMEROPICTURE S9(05)V99VALUE-33.11.*> CARACTERES ALFANUMÉRICOS01 WS-NOMBREPIC X(10).*>...

Ejemplo. Se requiere un programa donde introduciremos datos de un empleado.

De…

Cobol en un vistazo

Cobol es un lenguaje de propósito específico y orientado a negocios. Al igual que muchos otros lenguajes posee sus propias características y aspectos únicos.

Imprimir en pantalla.
*> MOSTRAR EN PANTALLADISPLAY "HOLA, MUNDO".
Solicitar entrada de datos.
*> SOLICITAR DATOSDISPLAY "INTRODUCE TU NOMBRE:". ACCEPTWS-NOMBRE. *>NOTA: EN COBOL DEBES DEFINIR UNA VARIABLE ANTES DE USARLA
Ejemplo. Usar EVALUATE ... EVALUATE-END. Es parecido a switch de Java.

IDENTIFICATIONDIVISION.PROGRAM-ID.EVALUAR.AUTHORALQUIMISTA.INSTALLATION.ALQUIMISTA.DATE-WRITTEN.17/04/19.DATE-COMPILED.SECURITY.NOESCONFIDENCIAL.DATADIVISION.WORKING-STORAGESECTION.01 WS-APIC 9VALUE0.PROCEDUREDIVISION.MOVE3 TOWS-A.DISPLAY "INTRODUCE NUMERO:".ACCEPTWS-A.EVALUATETRUEWHENWS-A=3DISPLAYWS-A" es igual a 3"WHENWS-A>2DISPLAYWS-A" es mayor que 2"WHENWS-A<0DISPLAYWS-A"es menor a 0"WHENOTHERDISPLAY "Entrada no valida"END-EVALUATE.STOPRUN.
En este ejempl…

COBOL: Estructura

Para programar en COBOL debemos respetar la siguiente estructura:

Estructura COBOL
IDENTIFICATIONDIVISION. PROGRAM-ID. PROGRAMA. AUTHORAUTOR. INSTALLATION. EMPRESA. DATE-WRITTEN. dd/mm/yy. DATE-COMPILED. SECURITY. NOESCONFIDENCIAL. DATA DIVISION. WORKING-STORAGESECTION. *> COMENTARIOPROCEDUREDIVISION. NOMBRESECTION. MAIN. STOP"PAUSE". STOPRUN.
Ejemplo. Hola mundo.
prog001.cbl.

IDENTIFICATIONDIVISION.PROGRAM-ID.HOLA-MUNDO.AUTHORALQUIMISTA.INSTALLATION.ALQUIMISTA.DATE-WRITTEN.16/04/19.DATE-COMPILED.SECURITY.NOESCONFIDENCIAL.DATA DIVISION.WORKING-STORAGESECTION.PROCEDUREDIVISION.DISPLAY'****************************'.DISPLAY'** PROGRAMANDO EN COBOL **'.DISPLAY' '.DISPLAY' HOLA, MUNDO!! '.DISPLAY'****************************'.STOP RUN.
Compilar:
$ cobc-x-freeprog001.cbl-oprog001.exe
Ejecutar:
$ ./prog001.exe
En posteriores post veremos más ejemplos.

COBOL, ¿el eterno lenguaje?

COBOL es un lenguaje de programación que se niega a morir. Por ahí escuchamos que nunca morirá. Que será eterno. Que muy pronto cobrará vida y todos le rendiremos pleitesía. ¡Larga vida al Rey! ¡Larga vida al señor benevolente!  Los bancos se niegan a migrar sus robustas aplicaciones a lenguajes como Java, C#, Python, etc. Consideran que "están muy chavos y les falta madurez". ¿Realmente Java puede procesar miles de miles de archivos sin perder nada, sin alterar el status quo o provocar una catástrofe? ¿Puede Python con todo el paquete? ¿Acaso es necesario convertir miles de líneas de código Cobol a Java y así obtendremos mejores resultados? Muchas preguntas y no muchas respuestas satisfactorias.

COBOL es un lenguaje de programación destinado para la creación de aplicaciones empresariales donde es necesario procesar grandes cantidades de datos. Se ha escuchado en el mundo de la programación que si algo funciona correctamente es mejor "no moverle nada" para que no te…

Instalando Open COBOL

En este post veremos cómo instalar  Open Cobol.

Instalación:
$ sudo apt-get update
$ sudo apt-get install open-cobol
$ cobc -V

La extensión de un programa COBOL puede ser *.cbl y/o *.cob

Ejemplo: Hola, mundo en Cobol.

Nombre del archivo: prog001.cbl

IDENTIFICATIONDIVISION.PROGRAM-ID.PROG001.AUTHORALQUIMISTA.INSTALLATION.ALQUIMISTA DE CODIGO.DATE-WRITTEN.13/04/19.DATE-COMPILED.SECURITY.NOESCONFIDENCIAL.PROCEDUREDIVISION.DISPLAY'****************************'.DISPLAY'** PROGRAMANDO EN COBOL **'.DISPLAY' '.DISPLAY' HOLA, MUNDO!! '.DISPLAY'****************************'.STOP RUN.
Compilamos:

$ cobc-x-free*.cbl-oprog001.exe
Ejecutamos:

$ ./prog001.exe
¡Eeeeso eeeso tooodo por hoy! ;)