RPG (lenguaje de programación)

RPG (Generador de programas de informes) es un lenguaje de programación cuya sintaxis era originalmente similar al lenguaje de comandos de los tabuladores mecánicos de IBM . Diseñado para facilitar la transición de los ingenieros que mantuvieron estos tabuladores a nuevos equipos y transferencia de datos, se implementó originalmente para IBM 1401. Ampliamente utilizado en las décadas de 1960 y 1970 .

La versión más común del lenguaje parece haber sido RPG II.

IBM continúa soportando el lenguaje en la actualidad, ya que se escribe una gran cantidad de código en él, lo que no es rentable para traducir a otros lenguajes de programación.

Lanzada en 2001, la versión RPG IV introdujo elementos de programación de objetos.

Además de mainframes IBM y máquinas AS/400 , RPG se ha implementado en Digital VAX , Sperry Univac BC/7, Univac system 80, Siemens BS2000, Burroughs B1700, Hewlett Packard HP3000, ICL 2900 series, Honeywell 6220, WANG VS, IBM Plataformas de PC ( DOS ).

Un compilador Visual RPG de terceros proporciona compatibilidad con Windows y GUI . También hay implementaciones para OpenVMS y otras plataformas más exóticas.

Código de ejemplo

* Las especificaciones "F" (archivo) definen archivos y otros dispositivos de E/S FARMstF1 UF EK Cambio de nombre de disco (ARMST:RARMST) * Las especificaciones "D" se utilizan para definir variables y parámetros * El "prototipo" del programa se encuentra en un archivo aparte * permitir que otros programas lo llamen /copiar custom_pr * La "interfaz de procedimiento" describe los parámetros *ENTRY D getCustInf PI DpCusNo 6p 0 constante D pNombre 30a DpAddr1 30a DpAddr2 30a DpCiudad 25a D pEstado 2a D pZip 10a /libre // El comando "cadena" se usa para el acceso aleatorio de un archivo con clave cadena pCusNo ARMstF1; // Si se encuentra un registro, mueva los campos del archivo a los parámetros si se encuentra; pNombre=ARNm01; pAddr1 = ARAd01; pAddr2 = ARAd02; pCiudad=ARCy01; pEstado=ARSt01; pZip=ARZp15; terminara si; // RPG hace uso de interruptores. Un interruptor "LR" originalmente significaba "último registro" //LR en realidad marca el programa y su espacio de datos como extraíbles de la memoria. *InLR = *Activado; /sin fin

Literatura