10200561779432290

La Historia del Lenguaje de Programación RPG (Report Program Generator)

La Historia del Lenguaje de Programación RPG (Report Program Generator)

RPG es uno de los lenguajes de programación más longevos y exitosos en el mundo empresarial, especialmente en entornos IBM. Aunque mucha gente lo asocia con sistemas antiguos como el AS/400, su evolución lo ha convertido en un lenguaje sorprendentemente moderno.

Orígenes (finales de los 50 y 1960)

  • 1959: IBM desarrolla el precursor llamado FARGO (para IBM 1401), un sistema para generar informes automáticos desde tarjetas perforadas.
  • 1964: Nace oficialmente RPG (Report Program Generator) para la familia IBM 1400 y System/360. Su propósito inicial era sencillo: generar reportes a partir de archivos de datos de forma eficiente, sin necesidad de programar en ensamblador o lenguajes más complejos.

Era un lenguaje column-based (de posición fija), inspirado en las tarjetas perforadas. El programador definía:

  • Fichas (Files)
  • Entrada (Input)
  • Cálculos (Calculation)
  • Salida (Output)

RPG II (años 70)

  • Introducido con el System/3 (1969-1970).
  • Se convirtió en el lenguaje estrella de las minicomputadoras medianas de IBM: System/32, System/34, System/36.
  • Añadió más potencia: subrutinas, mejor manejo de datos y lógica condicional.
  • Se usó masivamente en empresas medianas para sistemas de facturación, inventarios, contabilidad, etc.

RPG III y RPG/400 (finales 70 y 80)

  • RPG III (System/38 y AS/400, 1978-1988): Gran salto. Introdujo programación estructurada (IF-ENDIF, DO loops, subrutinas), mejor manejo de pantallas y bases de datos.
  • Con el lanzamiento del AS/400 en 1988, se popularizó enormemente como RPG/400. El AS/400 (luego iSeries, System i, e IBM i) fue un éxito rotundo en empresas medianas y grandes, especialmente en distribución, manufactura y finanzas.

RPG IV / RPGLE (1994 en adelante) – El gran renacimiento

En 1994, con OS/400 V3R2, IBM lanza RPG IV (también llamado RPG ILE por el Integrated Language Environment):

  • Sintaxis mucho más moderna.
  • Soporte para módulos, procedimientos, prototipos (como funciones).
  • Tipos de datos avanzados, fechas, tiempo, etc.
  • Integración con C, Java, SQL, XML, web services, etc.

A partir de los 2000, especialmente con RPG Free (formato libre, sin columnas fijas), el lenguaje se volvió mucho más legible y cercano a lenguajes modernos como Java o C#.

Estado actual (2020s)

  • RPG Free + ILE es la forma recomendada.
  • Soporta programación orientada a objetos (parcial), JSON, REST APIs, SQL embebido, etc.
  • Sigue siendo extremadamente eficiente en IBM i (antes AS/400/iSeries).
  • Miles de empresas en todo el mundo (especialmente en EE.UU., Europa y Latinoamérica) tienen sus sistemas críticos escritos en RPG.

¿Por qué sigue vivo?

  • Estabilidad legendaria: Un programa RPG de los 90 puede seguir corriendo hoy con pocos cambios.
  • Rendimiento: Excelente manejo de bases de datos DB2 for i.
  • Productividad: Para lógica de negocio transaccional sigue siendo muy productivo.
  • Modernización: Muchas empresas están convirtiendo código antiguo a RPG Free + servicios web.
Jose Antonio Alvarez Weingartt
Scroll al inicio