edición general
227 meneos
3913 clics
La belleza del COBOL [ENG]

La belleza del COBOL [ENG]

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
116 111 3 K 726 cultura
116 111 3 K 726 cultura
Comentarios destacados:                    
#1 Si esto llega a portada me tatuo "Hola mundo" en COBOL en la parte del cuerpo que prefiráis.
  1. Si esto llega a portada me tatuo "Hola mundo" en COBOL en la parte del cuerpo que prefiráis.
  2. #1 en la frente, por favor
  3. #1 Se me ocurre una parte de tu cuerpo puede sustituir una de las O...:-*
  4. #1 En el pijo, pero con la perforadora de tarjetas original.
  5. #1 Vas a necesitar una zona muy amplia. #2 No, ahí no cabe. #4 Ahí menos.
  6. #5 Me vale con un PERFORM
  7. Lo que hace falta para programar en COBOL es un mazo y un punzón.
  8. #1 Ya he votado la noticia. Va camino de portada.
  9. Que tiempos!
    No podía evitar indentar el código para que todo quedara alineado. Lo sigo haciendo, pero no queda igual.
  10. #1 Vamos a ello amigo.
  11. #0 Preparate...
  12. #1 Joder, hacía 25 años que veía una línea de COBOL....
  13. #1 Iba a votar la noticia, como tengo por costumbre con las noticias de tecnología, y esta vez con motivo extra; y llego tarde.
  14. #1 DISPLAY "Hola mundo"
  15. #0 Queremos foto del tatuaje!
  16. #14 Oye, pues no es tan largo :-D
  17. #15 Logro desbloqueado: sube a una noticia a portada siendo troll y karmawhore al mismo tiempo 8-D :-P
  18. #1 No lo vas a hacer, pero en el antebrazo ya me vale. Al menos no dará tanta vergüenza como un Hola Mundo en PHP y puedes mostrarlo
  19. #3 CooBOL
  20. #9 mejor si evitas Python por ahora
  21. #1 Yo solo recuerdo que ya está en la portada...  media
  22. #22 Lo estaba con 35 votos, y la gente sigue meneando.
  23. ¡Un IDE!

    Yo he programado una contabilidad y una nómina con un editor de líneas tipo edlin :-D
  24. #1 meneo por ti :troll:

    Por cierto que feo es el puto cobol, madre de dios
  25. #1 queremos foto pero ya mismo
  26. #23 Si, pero nadie se lo había recordado. Yo lo he visto cuando he entrado.
  27. Solicito el voto "oxímoron" para el titular.
  28. #9 Pues mira... tomando en cuenta que incluso en los lenguajes que te permiten escribir todo el programa en una sola línea, no usar indentaciones es una locura, no veo motivo para no aprovechar la indentación para delimitar los bloques y así evitar la necesidad de las llaves u otros separadores (como el begin/end del pascal);
  29. #1. No lo hagas. Solo hay una cosa más terrible que tatuarse y es hacerse un tatuaje en un lugar visible.
  30. #30 De acuerdo, me has convencido, no lo haré :-|
  31. #1 por (ms) DOS, que se tatúe "conio.h" en las partes bajas :-D
  32. #20 bueno, por lo poco que lo he usado, la identación es imprescindible, ¿no?
    Eso sí, al principio es un poco liosos que esa sea la delimitación de los bloques.
  33. Estoy por votar erronea, belleza y cobol en la misma frase es un claro y manifiesto error.
  34. #1 Cámbialo por Identification Division y apoyo la causa


    PD: Meneo igualmente; Hay Cobol, hay meneo :-D
  35. Cobol es de todo menos bonito.
  36. #25 Durante 6 meses tuve que trabajar en una entidad bancaria programando en PL/I (primo hermano del Cobol).

    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.
  37. Belleza picassiana
  38. #1 fotos o reporte
  39. ¿Halloween no fue hace un mes?
  40. #2 No le cabe ahí, mejor en la espalda.
  41. #8 Yo también la voto, pero por eso de que un programa es una obra de arte, idea que comparto.
  42. Puedes hacer una escultura del renacimiento con un zurullo, pero seguirá oliendo a mierda. COBOL es una vergüenza histórica. Hermosos algoritmos lloran cuando son implementados en 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.
  43. #38 Por favor, que no es lo mismo. En PL1 tienes procedimientos con argumentos y tienes funciones, tipos de datos (opcionales, pero es arreglable), cuatro formas de gestión de memoria, punteros si los quieres, librerías de funciones, precompilador, etc.

    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.
  44. Nunca he ganado más dinero que programando para aseguradoras (a veces bancos) en COBOL (algunos todavía estancados en RM/85 y Clipper - no COBOL pero basado en DBIV además de CICS/DB2). Peor es muy aburrido. Tiene su gracias, pero es aburrido.
    Es el "Tornero fresador" de la computación.
  45. #31 Todo programador debería tatuarse en el culo una línia de código en cada lenguaje en el que haya trabajado más de un año. Sería fantástico para las entrevistas de trabajo.

    - ¿En qué lenguajes tienes experiencia?
    - Mira.
  46. #7 Mucho mejor el FORTRAN para perforar tarjetas, donde va a parar. COBOL es demasiado moderno.
  47. #20 Esa es precisamente la parte de Python que no me gusta. Creo que ahí la cagaron. Para pillar los errores de "qué está dentro de qué" ya está el compilador, por ejemplo el G++ lo hace de puta madre.
  48. #29 BEGIN-END es una bendición. Otra cosa buena del PL1 es ésta. Mira que compararlo con el COBOL.
  49. #24 Es inferior, pero cuando le coges práctica es casi igual de rápido.
  50. #37 La belleza está en la estructura del programa, no en la sintaxis, y para toda limitación hay truquitos y convenciones.
  51. Soy defensor por que yo pico en esto jaja y se me queda una espinita si no digo nada...
    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.
  52. #32 La virgen del conio.h mojado. Qué tiempos con Lattice e INT 21H. Good point
  53. #46 A mi el COBOL me ha mantenido muy bien durante muchos años. Ojalá cobrase ahora la cuarta parte de lo que cobraba por programar en COBOL.
    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.
  54. En la facultad decíamos, hace ya 20 años, que las siglas de COBOL significaban Corre Obsoleto y Búscate Otro Lenguaje
  55. #53 Resumiendo para un junior como yo sería que Cobol es tan básico que no se le puede hacer backdoor ni hackear ya que es tan plano que se conoce todo no?
  56. #56 Estaba tan obsoleto hace 20 años, que se sigue utilizando...
  57. #53 Como exprogramador de COBOL (ganando un pastizal bien entrados los años 90), como decíamos, si algo funciona, déjalo estar; algo que no se puede decir lo mismo con lenguajes digamos más sofisticados, ya sea a bajo o alto nivel.
    LONG LIFE PROCEDURE DIVISION. Eso sí, boring as hell.
  58. #53 COBOL se resume en: Si funciona no lo toques. Fin.
  59. #1 CO en la nalga izquierda y BOL en la derecha porfa xD
  60. #60 "Si funciona no lo toques."

    ¿Cómo se codificaría eso en COBOL? :roll: xD
  61. #32 En realidad "conio.h" es lenguaje C, para MS-DOS lo suyo es el HIMEM.SYS :troll:

    CC #54
  62. #56 El hecho de que sea obsoleto no significa que sea malo.
    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.  media
  63. Larga vida al REXX
  64. #63 Sí. De ahí la broma. En su día, empezó a usarse hace la host#@ de años en Lattice C para I/O. De ahí la coña que nosotros decíamos de hacer el include de la virgen del "conio mojao" y la interrupción 21H.
  65. #66 #63 Con la del HIMEM (Hi memory o extendida), también hacíamos sus bromas relacionadas con lo de "petar" el himen.
    No obstante, creo recordar que mientras lattice mapeaba a DOS, Borland C lo hacía directamente a BIOS.
  66. #67 Asimismo, por aquel entonces no era complicado aprenderse las interrupciones y las tablas 8086/286 (además de protegido / no protegido). Hoy en día las CPU x86/x64 han evolucionado mucho como para memorizar.
  67. #38 De ahí las hojas de codificación amigo. Debo tener miles guardadas en alguna caja del garaje.
    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.
  68. #62
    ------------------------------------------------------------------------------...
    ________ 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
  69. #1 Necesitarás la espalda entera....
  70. #65 y al AREXX, la variante del Amiga DOS.

    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
  71. #52 yo esa belleza no la veo.

    Chapuzas se pueden hacer con casi cualquier lenguaje.
  72. #73 Sí, y con cualquier pedazo de piedra.
  73. #1 Pequenyito no te va a quedar, precisamente:
    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.
  74. #70 Joer... Me esperaba otra cosa... Algo en plan:

    IF IT_WORKS = TRUE THEN DO NOTHING
  75. #63 pues tienes razón, reformulo:

    "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 :-D )
  76. #76 recuerda que pusiste una cadena literal: "Si funciona no lo toques."
  77. #44 Lo bonito de verdad es quicksort implementado en Haskell c:
  78. #63 Aún así es una librería para manejar la consola de MS-DOS, la de Linux por ejemplo es termios.h :-P
  79. #50
    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?
  80. #44 nada aguanta 60 años por un eslogan, es fácil, muy fácil, sencillo, robusto, rápido y en caso de error de lógica tienes toda la info del mundo en el volcado del error. No hace mucho pero lo que hace lo hace muy bien
  81. #58 porque no hay huevos a meterle mano a esos sistemas. Abres un banco hoy y no usas Cobol para el core banking en la vida
  82. #81 Sí, claramente. Todo queda enmarcado en PL1. Hasta puedes meter un BEGIN-END en medio de donde sea y eso crea su propio scope de nombres ahí dentro. El COBOL no tiene ni siquiera control de scope de nombres.
  83. #16 Mételo dentro de un IDENTIFICATION DIVISION, PROCEDURE DIVISION etc y verás si crece...
  84. me faltan los llorones que aprenden lenguajes de programación actuales (sin tener estudios además, intentando el intrusismo laboral), quejándose de que si está obsoleto y que debería actualizarse, para claro, ser ellos los que ganen pasta, ya que perdieron el tiempo en ello y se lo merecen mas que nadie en el mundo, sin haber pensado que es lo que realmente funciona y mueve dinero.
  85. PD: falta hablar del JCL, REXX y CLIST
comentarios cerrados

menéame