Prerequisitos - instalacion de Homebrew y asdf en ubuntu
Documentación (Oficial?)
Frameworks/Toolkits Populares
(COBOL no usa frameworks modernos; estos son los más conocidos)
- GnuCOBOL (OpenCOBOL) — compilador libre estándar.
- TinyCOBOL — simple y educativo.
- COBOL-IT — comercial, compatible con mainframes.
🛠️ Instalación en Ubuntu
sudo apt update
sudo apt install open-cobol
# o
sudo apt install gnucobol
🍺 Instalación con Homebrew
brew install gnu-cobol
📦 Gestor de paquetes estándar
COBOL no tiene gestor de paquetes oficial (no es un ecosistema modular como Node o PHP).
🔧 Instalación con ASDF
No existe un plugin oficial/asdf para COBOL.
📝▶️ Crear y ejecutar un archivo COBOL
Importante: En COBOL se dejan libres los primeros 7 espacios de cada línea porque originalmente estaban reservados para números de secuencia utilizados en tarjetas perforadas. Estas secuencias permitían ordenar físicamente las tarjetas si se mezclaban. Aunque hoy ya no son necesarios, la estructura histórica del lenguaje se mantiene por compatibilidad, y por eso esos ocho caracteres siguen considerándose una zona especial fuera del código ejecutable.
cobol.es - IBM - Cobol for Linux
Col: 1 2 3 4 5 6 7 8
| | | |
| | | └──→ Aquí comienza el código
| | └────→ Indicador (comentario, continuación…)
└──────────────→ Zona de secuencia (1–6)
000100*······Programa de ejemplo
000200 IDENTIFICATION DIVISION.
000300 PROGRAM-ID.··HOLAMUNDO.
000400 ENVIRONMENT DIVISION.
000500 DATA DIVISION.
000600 WORKING-STORAGE SECTION.
000700 01·MENSAJE·PIC·X(20)·VALUE·"HOLA·MUNDO".
000800 PROCEDURE DIVISION.
000900 DISPLAY·MENSAJE.
001000 STOP·RUN.
Nota: existe algo llamado "free format"
>>SOURCE FORMAT FREEque en teoría si se le agrega al principio, hace que nos ahorremos los espacios en blanco, pero a mi no me funciono
Crear archivo: touch hola.cob
*PROGRAMA DE EJEMPLO COBOL PARA VERIFICAR LA INSTALACIÓN DE COBOL
*IMPORTANTE - Recordatorio: El código COBOL debe comenzar en la COLUMNA 8.
*Usa '*' en la columna 7 para comentarios.
IDENTIFICATION DIVISION.
PROGRAM-ID. HELLO.
PROCEDURE DIVISION.
DISPLAY "¡COBOL está instalado y funciona!".
STOP RUN.
mismo archivo con free format: (y sin comentarios)
>>SOURCE FORMAT FREE
IDENTIFICATION DIVISION.
PROGRAM-ID. HOLA.
PROCEDURE DIVISION.
DISPLAY "Hola Mundo COBOL".
STOP RUN.
Compilar:
cobc -x hola.cob -o hola
Ejecutar:
./hola
🟦 Ejemplo básico en COBOL
Que Hace:
- Lee un archivo de texto.
- El archivo tiene dos números por línea (ej:
5 7). - Los multiplica.
- Imprime en consola: "el resultado es = X"
Archivo de entrada (datos.txt)
Contenido de ejemplo:
125 745
313 246787
140 4467
Mini Programa COBOL
Crear archivo: multiplicar.cob
*-------------------------------------------------------------*
* PROGRAMA PARA LEER DOS VALORES, MULTIPLICARLOS Y MOSTRARLOS *
*-------------------------------------------------------------*
IDENTIFICATION DIVISION.
PROGRAM-ID. MULTIPLICAR.
ENVIRONMENT DIVISION.
INPUT-OUTPUT SECTION.
FILE-CONTROL.
SELECT ARCHIVO ASSIGN TO "datos.txt"
ORGANIZATION IS LINE SEQUENTIAL.
DATA DIVISION.
FILE SECTION.
FD ARCHIVO.
01 REGISTRO-LINEA PIC X(50).
WORKING-STORAGE SECTION.
01 NUM1 PIC 9(9).
01 NUM2 PIC 9(9).
01 RESULTADO PIC 9(18).
01 FIN-FILE PIC X VALUE "N".
PROCEDURE DIVISION.
MAIN-LOGIC.
OPEN INPUT ARCHIVO
PERFORM UNTIL FIN-FILE = "S"
READ ARCHIVO
AT END
MOVE "S" TO FIN-FILE
NOT AT END
PERFORM PROCESAR-LINEA
END-READ
END-PERFORM
CLOSE ARCHIVO
STOP RUN.
PROCESAR-LINEA.
UNSTRING REGISTRO-LINEA
DELIMITED BY SPACE
INTO NUM1 NUM2
COMPUTE RESULTADO = NUM1 * NUM2
DISPLAY "el resultado es = " RESULTADO.
📝▶️ Cómo compilar y ejecutar
cobc -x multiplicar.cob -o multiplicar
./multiplicar
Salida esperada:
el resultado es = 35
el resultado es = 6
el resultado es = 40
Top comments (1)
🤨 Hummmm...