Cobol Foro
Navegación en el Foro
Retroceder   Cobol Foro Entornos de desarrollo y compiladores Cobol COBOL - General Object-Oriented COBOL
Object-Oriented COBOL COBOL orientado a objetos. ISO/2002-2014
 
Otros temas que te pueden interesar
Tema Autor Foro Respuestas Último post
[Compilador] MicroFocus Visual Object COBOL for Windows 95 Kuk Micro Focus COBOL 1 7 de abril de 2022 04:38
[Duda] ¿Qué se hace en CLASS-OBJECT y FACTORY? Kuk Object-Oriented COBOL 14 22 de febrero de 2017 15:49

Respuesta

  #1
Antiguo 8 de enero de 2025, 14:45
MatthewBaw
Guest
Última Actividad 01.01.1970 01:00
Posts Posts: n/a
Pregunta Object-Oriented COBOL: ¿sirve o no?
0 Inactivo Inactivo

** ¿Es Object-Oriented COBOL una contradicción en sí misma o el futuro olvidado de la programación empresarial? ¿Por qué un lenguaje diseñado para la simplicidad y la estructura lineal intentó adaptarse a la orientación a objetos, y qué tan viable es hoy en día frente a lenguajes modernos como Java o C#?
  Responder Con Cita
  #2
Antiguo 8 de enero de 2025, 21:20
Kuk
Administrador
Última Actividad 19.09.2026 20:11
Posts Posts: 2.500
Likes enviados Enviados: 1037
Likes recibidos Recibidos: 1207

@MatthewBaw, es un tema interesante. Yo personalmente creo que no tiene sentido ninguno en cuando a la programación Cobol tradicional. Es decir, nadie va a reemplazar el código procedural existente de Cobol por el de OO Cobol.

Sin embargo, me parece un aporte interesante en varios aspectos:

Se pueden definir clases con fucncionamiento que requiere orientación a objetos (o facilita las cosas) y usarla en programas tradicionales (procedurales) mediante REPOSITORY e INVOKE. Por poner un ejemplo muy básico, como en OO una gran novedad y ventaja es el método new que permite instanciar tantos objetos (clones de clases) como quieras (limitados por la memoria, claramente), se podría usar en lugar de tablas internas sin tener que indicar el máximo.

Otra cosa interesante es que se puede interactuar con otros lenguajes. No he investigado mucho el tema, pero existe hasta Cobol for JVM (de Micro Focus), que genera directamente bytecode de JVM. En caso de Fujitsu PowerCOBOL, que trabaja con GUI de manera nativa, con un dialecto OO de Cobol, es una maravilla, aunque lo han discontinuado y han apostado por Cobol .NET, pero en .NET es el mismo principio.


A mi me parece interesante pero de momento no demasiado maduro. Le falta un buen GUI para qu las Empresas se interesen más. El entorno más completo es, sin duda, el de Micro Focus. Tiene su propio servidor que permite exponer código Cobol tradicional como Web Service (SOAP/Rest). En entornos más antiguos como NetExpress también se incorporaba un sistema GUI pero creo que era solo para Windows.

Hoy en día GUI como tal se está muriendo, todo se migra más hacía la Web.
Las empresas usan multitud de capas, para GUI, Web (a parte del core del negocio).

Hace años diría que si hubiera un entorno, con su servidor web, y con GUI, permitiendo eliminar otros productos y lenguajes añadidos por capas, y al mismo tiempo hubiera bajado los gastos, las empresas se interesarían más por ello.

Hoy puedo decir que existe, es Micro Focus Visual COBOL / Dev HUB. Pero es el único, y es caro.


IMHO, falta de madurez, demasiados dialectos incompatibles entre sí, actualmente monopolio de Micro Focus siendo el único producto completo, precios... Pero no lo llamaría sinsentido, si la cosa se enfoca bien, yo creo que tiene cierto futuro, pero para cosas más específicas y más modernas, no para reescribir lo existente.



NORMAS DEL FORO - para garantizar el buen funcionamiento del Foro.
¿Te han ayudado? NO TE OLVIDES de darle a
¿Quieres dirigirte a alguien en tu post? Notifícale haciendo clic en su Nick
Kuk is offline   Responder Con Cita
  #3
Antiguo 9 de enero de 2025, 11:16
Yuri
Forero Junior
Última Actividad 17.06.2026 11:38
Posts Posts: 8
Likes enviados Enviados: 15
Likes recibidos Recibidos: 4

Olá @MatthewBaw

Minha experiência em POO é em Java.
POO tem conceitos muito legais, é diferente do jeito que programo em Cobol.
Não consigo separar POO de Java, na minha cabeça fica uma bagunça tentar imaginar as duas coisas COBOL + POO.
Também acho que qualquer implementação POO não feita em Java é um monstro de Frankenstein, veja por exemplo a diferença no código PHP tradicional e o PHP POO (que sintaxe horrível).

É muito caro programar em POO em Cobol, pois se paga pelo compilador (salvo GnuCobol que não sei se implementa POO).
Não vejo sentido usar POO com Cobol, da mesma forma que não vejo sentido usar Cobol sem base de dados nativa.
Cobol se paga para usar base nativa (o que nenhuma outra linguagem faz com a mesma simplicidade, segurança e eficiência).

Saludos!
Yuri is offline   Responder Con Cita
  #4
Antiguo 6 de agosto de 2025, 01:55
Eslopes
Creador de
PowerRustCOBOL
Guru de los Gurus: Por solidos y amplios conocimientos - Issue reason: Por ámplios conocimientos en la materia Concurso: Tercer puesto: Ganador/a del Tercer puesto en un concurso - Issue reason: Juego  Innovación: Por aportar innovaciones - Issue reason: Por aportar soluciones innovadoras 
Última Actividad 20.09.2026 13:24
Posts Posts: 357
Likes enviados Enviados: 29
Likes recibidos Recibidos: 157

Hola,

Durante bastante tiempo estuve realizando estudios y ejemplos de implementaciones de patrones de diseño en Cobol (OO Cobol). Pensé que más gente se interesaría por esta tecnología, pero al final acabé perdiendo el interés, ya que nunca hubo realmente entusiasmo por parte de otros desarrolladores para adoptar la programación orientada a objetos.

Finalmente llegué a la conclusión de que la verdadera motivación de la industria para añadir OO al Cobol era encapsular código legado y permitir una comunicación más moderna entre aplicaciones Java/.Net y las que corren en entornos mainframe.

¿Qué desalentó la adopción de OO Cobol? La sintaxis tiene una verbosidad que pondría celoso hasta a Java. La falta de inferencia de tipos hace todo aún más tedioso, pues todas las variables deben ser definidas previamente en la Working Storage antes de ser referenciadas. Últimamente ha habido discusiones sobre el uso de GenAI para el mantenimiento de código legado. Pobre IA, pero hay procesos de negocio en abundancia que necesitan que alguien (o algo) los mantenga funcionando.

¡Saludos!
Eslopes is offline   Responder Con Cita
  #5
Antiguo 7 de agosto de 2025, 09:20
Kuk
Administrador
Última Actividad 19.09.2026 20:11
Posts Posts: 2.500
Likes enviados Enviados: 1037
Likes recibidos Recibidos: 1207

@Eslopes, muy interesante tu feedback y por tus aportes, que en su día recuperé y publiqué en el foro (cuando eliminaste tu web "100coolthings"): Object-Oriented COBOL - Cobol Foro

Yo creo que otro punto que ha influido es que OO Cobol llegó demasiado tarde.
La modernización de aplicaciones Cobol, sobre todo añadiendo funcionalidades Web, llegó en los años 2000. La gente tuvo que buscar soluciones, y las encontró mediante otros lenguajes de programación y tecnologías sobreponiéndolas como capas sobre el Core realizado en Cobol.
El estándar OO COBOL,el ISO-2002 por lo que entiendo nunca fue implementado al 100% (muchos dialectos y diferencias de sintaxis entre compiladores). Además el monopolio sobre grandes empresas lo tenía IBM que, hasta que yo sé, implementó extensiones OO más tarde que Micro Focus. Luego ambos, IBM y MF, dejaron el OO CObol nativo orientándose hacía código gestionado (Managed Code) como Java y .NET que para mi no tiene mucho sentido la verdad. El permitir interoperatividad sí que es interesante, pero generar en salida algo nuevo, con sintaxis nueva y reglas de juego nuevos, simplemente dejando alguna que otra palabra reservada... no sé yo, a m no me convence. O era más partidario de OO Cobol puro, conservando las ventajas de Cobol y produciendo binarios nativos.

Total que al final, cuando OO Cobol se estandarizó de verdad, que es más bien el estándar ISO-2014, la gran mayoría (si no todos) ya habían conseguido lo que querían sin tocar el código Cobol... Y si no hay necesidad, nadie, de manera masiva, se involucra en el asunto.

Cobol en su gran mayoría de casos se ha quedado a nivel puramente Core del negocio, y yo creo que ya es definitivo. Me parecen interesantes efectivamente las opciones que ofrece OO Cobol para poder intercalar Cobol con Java u otras tecnologías, pero no más allá que eso.



NORMAS DEL FORO - para garantizar el buen funcionamiento del Foro.
¿Te han ayudado? NO TE OLVIDES de darle a
¿Quieres dirigirte a alguien en tu post? Notifícale haciendo clic en su Nick
Kuk is offline   Responder Con Cita
  #6
Antiguo 8 de agosto de 2025, 01:31
Eslopes
Creador de
PowerRustCOBOL
Guru de los Gurus: Por solidos y amplios conocimientos - Issue reason: Por ámplios conocimientos en la materia Concurso: Tercer puesto: Ganador/a del Tercer puesto en un concurso - Issue reason: Juego  Innovación: Por aportar innovaciones - Issue reason: Por aportar soluciones innovadoras 
Última Actividad 20.09.2026 13:24
Posts Posts: 357
Likes enviados Enviados: 29
Likes recibidos Recibidos: 157
Predeterminado Re: Object-Oriented COBOL: ¿sirve o no?
3 Inactivo Inactivo

Para mí, el gran villano de toda esta historia es el comité ISO encargado de mantener el estándar del COBOL (antes esta responsabilidad estaba en manos del ANSI). Durante décadas, este grupo bloqueó sistemáticamente las innovaciones que habrían sido necesarias para mantener el lenguaje atractivo para nuevas generaciones de programadores. La programación orientada a objetos (OO) se discutía ya desde principios de los años ochenta. Recuerdo haber leído que, en una de las reuniones sobre el futuro del estándar, el equipo de Realia propuso seriamente implementar OO ya en 1989, argumentando que con un COBOL más potente, verdaderamente orientado a objetos, incluso podrían desarrollarse videojuegos de gran complejidad. La respuesta fue una mezcla de escepticismo y burla.

Los fabricantes y miembros del comité ni siquiera lograron consensuar mejoras básicas que ya en esa época resultaban evidentes, como la creación de una biblioteca estándar de clases para el lenguaje, algo que lenguajes como Java, .NET o Python ofrecen desde su concepción. Con una librería así, no tendríamos que reinventar la rueda en cada proyecto: habría componentes reutilizables para manejo de cadenas, estructuras de datos, interfaces gráficas, comunicación con bases de datos y mucho más. Sin embargo, nadie quiso colaborar. La sensación era que cualquier contribución a un código común sería interpretada como una ayuda gratuita a la competencia, y esa mentalidad cerrada terminó frenando cualquier intento serio de modernización.

Hoy, COBOL sobrevive como un paciente en estado terminal, sostenido apenas por sistemas heredados en entornos donde su presencia todavía es tolerada por necesidad. Decir que programas en COBOL fuera de estos ambientes de gran porte es, en cierto modo, como declarar que padeces lepra o alguna enfermedad contagiosa: genera sorpresa, incomodidad y hasta cierto prejuicio.

¿Y qué ha quedado en pie? Fujitsu mantiene NetCOBOL (y la versión PowerCOBOL) principalmente para cumplir contratos existentes con clientes que dependen de esas plataformas. Micro Focus ha sido adquirida —por enésima vez— por una compañía que jamás tuvo vínculo alguno con COBOL y cuyo interés real en el lenguaje es, como mínimo, discutible. Otros fabricantes históricos como Liant, Realia, Ryan-McFarland, Acusoft, PerCOBOL, RM/COBOL, Wang COBOL, DEC/VAX COBOL, HP COBOL, IBM VisualAge COBOL y varias implementaciones universitarias fueron absorbidos, descontinuados o simplemente desaparecieron del mapa. De vez en cuando surgen iniciativas aisladas, como Veryant, que generan código Java equivalente al código COBOL y luego producen un binario en bytecode. Es una estrategia curiosa e ingeniosa, pero condenada a extinguirse, porque ¿quién va a mantener un código puente que en el futuro nadie sabrá —o querrá— tocar?

Incluso lenguajes derivados o dialetos con fuerte arraigo en ciertas plataformas han ido cayendo: versiones específicas para mainframes propietarios, ediciones adaptadas para minicomputadores y compiladores especializados para sistemas bancarios o de telecomunicaciones han terminado en el olvido. La desaparición de sus fabricantes o el cierre de los sistemas para los que fueron creados los dejó sin espacio en el mundo moderno.

Es importante recordar que COBOL estuvo presente en prácticamente todas las plataformas de relevancia de los últimos 40 años. Desde microcomputadoras de 8 bits como CP/M, Commodore 64, MSX y Apple II, pasando por máquinas de 16 bits como IBM PC/XT, PC/AT y Amiga, estaciones de trabajo Unix como Sun, HP-UX y AIX, minicomputadores como VAX/VMS, AS/400 y HP3000, hasta mainframes IBM zSeries, Unisys ClearPath y Burroughs. En cada una de estas plataformas existió al menos un compilador COBOL, adaptado a sus características, lo que demuestra la ubicuidad y flexibilidad del lenguaje, aunque esta diversidad también contribuyó a su fragmentación.

Dicho todo esto, no me sorprendería que, dentro de 75 años, todavía haya quien esté debatiendo sobre cómo clonar antiguos programadores COBOL a partir de su ADN, con la esperanza de corregir el famoso bug del año 2100. Quizás para entonces, el propio COBOL sea visto más como un fósil de museo que como una herramienta viva, pero aún así seguirá teniendo esa aura de “lenguaje inmortal” que nunca termina de desaparecer.
Eslopes is offline   Responder Con Cita
  #7
Antiguo 8 de agosto de 2025, 22:20
Kuk
Administrador
Última Actividad 19.09.2026 20:11
Posts Posts: 2.500
Likes enviados Enviados: 1037
Likes recibidos Recibidos: 1207

Citación del post de Eslopes Ver Mensaje
La sensación era que cualquier contribución a un código común sería interpretada como una ayuda gratuita a la competencia
Este punto se me escapaba y sin embargo es muy importante. Claro, como los negocios son de raíz competencia, nadie quería regalar nada.

Citación del post de Eslopes Ver Mensaje
Decir que programas en COBOL fuera de estos ambientes de gran porte es, en cierto modo, como declarar que padeces lepra o alguna enfermedad contagiosa: genera sorpresa, incomodidad y hasta cierto prejuicio.
Lo confirmo, lo llevo viendo desde hace años. Par ami esto no quiere decir que Cobol va a desaparecer en los nichos que se ha ganado, como banca y demás (al menos por ahora), pero lo que dices es verdad.


Citación del post de Eslopes Ver Mensaje
PerCOBOL, Wang COBOL, DEC/VAX COBOL
de estos ni había oído nunca nada...


Citación del post de Eslopes Ver Mensaje
Incluso lenguajes derivados o dialetos con fuerte arraigo en ciertas plataformas han ido cayendo: versiones específicas para mainframes propietarios, ediciones adaptadas para minicomputadores y compiladores especializados para sistemas bancarios o de telecomunicaciones han terminado en el olvido.
La banca, el estado y similares monstruos usa IBM Enterprise Cobol bajo Mainframe, algunos se mudan al mundo Open, sobre IBM AIX para mantener cultura y garantía IBM, normalmente con Micro Focus. Y los más atrevidos a Red Hat, y los "sin cabeza" a GnuCOBOL.


Por cierto!!! GCC v15 ahora contiene un nuevo compilador, el GCOBOL que es un compilador nativo/verdadero de Cobol (no confundir con GnuCOBOL que es un traductor al lenguaje C que luego se compila):



NORMAS DEL FORO - para garantizar el buen funcionamiento del Foro.
¿Te han ayudado? NO TE OLVIDES de darle a
¿Quieres dirigirte a alguien en tu post? Notifícale haciendo clic en su Nick
Kuk is offline   Responder Con Cita
  #8
Antiguo 10 de agosto de 2025, 01:45
Eslopes
Creador de
PowerRustCOBOL
Guru de los Gurus: Por solidos y amplios conocimientos - Issue reason: Por ámplios conocimientos en la materia Concurso: Tercer puesto: Ganador/a del Tercer puesto en un concurso - Issue reason: Juego  Innovación: Por aportar innovaciones - Issue reason: Por aportar soluciones innovadoras 
Última Actividad 20.09.2026 13:24
Posts Posts: 357
Likes enviados Enviados: 29
Likes recibidos Recibidos: 157

No conocía el gCOBOL. Parece interesante. Voy a ver si puedo contactar a los creadores para entender cómo interconectar gCOBOL con Python. Quién sabe, quizá reactive aquel proyecto con Generative AI
Eslopes is offline   Responder Con Cita
  #9
Antiguo 10 de agosto de 2025, 20:11
Kuk
Administrador
Última Actividad 19.09.2026 20:11
Posts Posts: 2.500
Likes enviados Enviados: 1037
Likes recibidos Recibidos: 1207

@Eslopes, por lo que entiendo, gCobol formando parte de gcc, es compatible con todo lo de gcc. Así que, aparte de GUI y demás, debe ser compatible con este tipo de cosas: GitHub - davidmalcolm/gcc-python-plugin: GCC plugin that embeds CPython inside the compiler



NORMAS DEL FORO - para garantizar el buen funcionamiento del Foro.
¿Te han ayudado? NO TE OLVIDES de darle a
¿Quieres dirigirte a alguien en tu post? Notifícale haciendo clic en su Nick
Kuk is offline   Responder Con Cita
Respuesta


Herramientas

Derechos de Publicación
No puedes publicar nuevos temas
No puedes publicar posts/responder
No puedes adjuntar archivos
No puedes editar tus posts

BB code is habilitado
Las caritas están habilitado
Código [IMG] está habilitado
Código HTML está deshabilitado

Saltar a Foro


La franja horaria es GMT +2. Ahora son las 16:28.
Powered by: vBulletin, Versión 3.8.7
Derechos de Autor ©2000 - 2026, Jelsoft Enterprises Ltd.