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
- 9PAC, Generador de informes (enlace no disponible) . Historia de los Lenguajes de Programación (HOPL), Murdoch University, AU (2006). Consultado el 1 de abril de 2008. Archivado desde el original el 24 de diciembre de 2010. (indefinido)
- RPG, Report Program Generator (enlace no disponible) . Historia de los Lenguajes de Programación (HOPL), Murdoch University, AU (2006). Consultado el 1 de abril de 2008. Archivado desde el original el 15 de abril de 2011. (indefinido)
- DuCharme, Bob Extrayendo datos de las computadoras a mediados del siglo XX y principios del XXI (26 de febrero de 2006). Consultado el 1 de abril de 2021. Archivado desde el original el 14 de mayo de 2008. (indefinido)
- Cozzi, Robert El lenguaje moderno RPG IV (1996). Consultado el 1 de abril de 2021. Archivado desde el original el 3 de noviembre de 2012. (indefinido)
- Shelly, Gary B. Introducción a la programación informática RPG / Gary B. Shelly, Thomas J. Cashman. - Fullerton, California: Anaheim Publishing Company, 1977. - ISBN 0-88236-225-9 .