Un código bien escrito es una obra de arte. Es una idea abstracta hecha real. Es como la arquitectura. El COBOL es la lengua base de muchos bancos y sistemas. Lo primero que necesité para aprender COBOL es un IDE donde escribir y programar a la vez. Un buen IDE para COBOL es OpenCobolIDE.
|
etiquetas: cobol , belleza
No podía evitar indentar el código para que todo quedara alineado. Lo sigo haciendo, pero no queda igual.
Yo he programado una contabilidad y una nómina con un editor de líneas tipo edlin
Por cierto que feo es el puto cobol, madre de dios
Eso sí, al principio es un poco liosos que esa sea la delimitación de los bloques.
PD: Meneo igualmente; Hay Cobol, hay meneo
Han sido los peores 6 meses de mi vida. Estos lenguajes son aberraciones que si bien sirvieron para sentar las bases de la programación futura - cosa que es de agradecer, hoy en día no son más que aberraciones informáticas que palidecen ante cualquier lenguaje moderno. Y frustrantes porque todo es arcaico, primitivo y sin elegancia por más que se la quiera dar. El mismo ensamblador es elegante comparado con esto. Esto no. Esto no es más que algo que quiere ser código y no es.
Las lineas no pueden ser de más de 80 caracteres. ¿Porqué? Porque las puñeteras tarjetas perforadas solo permitían 80 perforaciones por linea.
Odio PL/I. Y Cobol.
Este "lenguaje de programación" ganó fama por su slogan "el lenguaje de los negocios", por lo que mucho ejecutivo de la época lo mencionaba para quedar bien como hoy sucede con mucho ejecutivo mezclando términos de blockchain, inteligencia artificial, cloud computing.
El que se pueda emular un programa COBOL con PL1 no significa que sean lo mismo ni de lejos. PL1 es mucho más potente.
Es el "Tornero fresador" de la computación.
- ¿En qué lenguajes tienes experiencia?
- Mira.
COBOL es el lenguaje de programación por excelencia, tanto en Banca como en Seguros, prueba de ello es que se lleva utilizando 60 años en estos sectores. Otra gran ventaja frente al resto de lenguajes es que IBM te garantiza su funcionamiento al 100% sin errores, y esto no lo dice cualquiera. La idea de tramitar en una noche varios millones de registros de alto riesgo no gusta en otras plataformas, no te darán esa garantía. COBOL no falla, fallan las casuísticas no contempladas.
Por otro lado en efecto, somos putos dinosaurios que idolatran a Grace Hooper, creadora del lenguaje y del primer compilador. Como dice #25 programamos en 72 caracteres por que las tarjetas perforadas tenían 72 agujeritos, pero hasta la fecha ningún banco ha tenido valor para migrarse enteramente a otros lenguajes, se intento hace 20 años y ahora cada vez tenemos más productos que ofrecemos en Java u otros lenguajes, pero siempre con un respaldo de COBOL.
Creo que lo único que puede desbancar a COBOl del sector de la Banca, es cambiar la idea de como movemos el dinero, de como realizamos transacciones y gestionamos las BBDD, es decir que a día de hoy solo lo veo posible si las transacciones BLOCKCHAIN lo petan.
Y no es que cobre poco, es que se ganaba un montón con él, como tú dices. Y aburrido, coincido al 100% con tu comentario.
LONG LIFE PROCEDURE DIVISION. Eso sí, boring as hell.
¿Cómo se codificaría eso en COBOL?
CC #54
Cualquier ordenador de hoy en día quisiera ser tan seguro y fiable como lo era el AGC que llevó al hombre a la Luna. Que sí, que ahora tenemos pantallas táctiles e interfaces gráficas, pero el AGC podría hacer su trabajo hoy tan bien como lo hizo en su momento.
No obstante, creo recordar que mientras lattice mapeaba a DOS, Borland C lo hacía directamente a BIOS.
En cualquier caso, probablemente cuando hablas de PL/1, no te refieres directamente a COBOL, sino a algún transpiler desde PL/1 a CICS / cobol (algunos aún en RM/85). PL era un poco más sofisticado. Pero COBOL, siendo arcaico es más como un peine. Si funciona no lo cambies. Y de hecho lo hace. ¿Aburido? un rato.
------------------------------------------------------------------------------...
________ A 1 B ________ 2 __________ 3 ___________ 4 ____...
12345678901234567890123456789012345678901234...
------------------------------------------------------------------------------...
_______ IDENTIFICATION DIVISION.
_______ PROGRAM-ID. MNM.
_______ ENVIRONMENT DIVISION.
_______ PROCEDURE DIVISION.
________ 111111.
_________ DISPLAY "Si funciona no lo toques"
_________ STOP RUN.
_______ END PROGRAM MNM.
empieza en 8
SAY "LARGA VIDA AL (A)REXX? Y/N"
ANS.1 = "SIPI"
ANS.2 = "NOPE"
PULL answer
IF UPPER(answer) == "Y" THEN SAY ANS.1
ELSE SAY ANS.2
Chapuzas se pueden hacer con casi cualquier lenguaje.
000100 IDENTIFICATION DIVISION.
000200 PROGRAM-ID. HOLAMUNDO.
000300
000400*
000500 ENVIRONMENT DIVISION.
000600 CONFIGURATION SECTION.
000700 SOURCE-COMPUTER. RM-COBOL.
000800 OBJECT-COMPUTER. RM-COBOL.
000900
001000 DATA DIVISION.
001100 FILE SECTION.
001200
100000 PROCEDURE DIVISION.
100100
100200 MAIN-LOGIC SECTION.
100300 BEGIN.
100400 DISPLAY " " LINE 1 POSITION 1 ERASE EOS.
100500 DISPLAY "Hola mundo" LINE 15 POSITION 10.
100600 STOP RUN.
100700 MAIN-LOGIC-EXIT.
100800 EXIT.
IF IT_WORKS = TRUE THEN DO NOTHING
"por (ms) DOS, que se tatúe "conio.h" en el HIMEN (sys)"
Aunque igual eso alberga dudas sobre su sexualidad y tal (eso sí, os doy a escoger entre su naturaleza o su falta de ella como buen meneante )
IF condicion
Sentencias
ELSE
Sentencias
END-IF
vs
IF condición THEN
DO;
sentencias
END;
ELSE DO;
sentencias
END;
De verdad te parece más legible el PL1?