RPG (limbaj de programare)
RPG (Report Program Generator) este un limbaj de programare a cărui sintaxă a fost inițial similară cu limbajul de comandă al tabulatoarelor mecanice IBM . Conceput pentru a facilita tranziția inginerilor care au întreținut aceste tabulatoare la noi echipamente și transfer de date, a fost implementat inițial pentru IBM 1401. Folosit pe scară largă în anii 1960 și 1970 .
Cea mai comună versiune a limbajului pare să fi fost RPG II.
IBM continuă să susțină limbajul în prezent, deoarece în el este scrisă o cantitate imensă de cod, care nu este profitabil pentru a fi tradus în alte limbaje de programare.
Lansată în 2001, versiunea RPG IV a introdus elemente de programare a obiectelor.
Pe lângă mainframe -urile IBM și mașinile AS/400 , RPG a fost implementat pe Digital VAX , Sperry Univac BC/7, Univac system 80, Siemens BS2000, Burroughs B1700, Hewlett Packard HP3000, seria ICL 2900, Honeywell VS, IBM VS, WANG Platforme PC ( DOS ).
Un compilator Visual RPG terță parte oferă suport pentru Windows și GUI . Există și implementări pentru OpenVMS și alte platforme mai exotice.
Exemplu de cod
* Specificațiile „F” (fișier) definesc fișierele și alte dispozitive de i/o
FARMstF1 UF EK Redenumire disc (ARMST:RARMST)
* Specificațiile „D” sunt folosite pentru a defini variabile și parametri
* „Prototipul” pentru program se află într-un fișier separat
* permițând altor programe să-l apeleze
/copy custom_pr
* „Interfața de procedură” descrie parametrii *ENTRY
D getCustInf PI
DpCusNo 6p 0 const
D pNume 30a
DpAddr1 30a
DpAddr2 30a
DpCity 25a
D pState 2a
D pZip 10a
/gratuit
// Comanda „lanț” este folosită pentru accesul aleatoriu a unui fișier cu cheie
lanț pCusNo ARMstF1;
// Dacă se găsește o înregistrare, mutați câmpurile din fișier în parametri
daca este gasit;
pName=ARNm01;
pAddr1 = ARAd01;
pAddr2 = ARAd02;
pCity=ARCy01;
pState=ARSt01;
pZip=ARZp15;
endif;
// RPG folosește comutatoare. Un comutator „LR” a reprezentat inițial „ultima înregistrare”
//LR semnalează de fapt programul și spațiul său de date ca fiind amovibile din memorie.
*InLR = *Pornit;
/fără sfârșit
Literatură
- 9PAC, Generator de rapoarte (link indisponibil) . Istoria limbajelor de programare (HOPL), Universitatea Murdoch, AU (2006). Consultat la 1 aprilie 2008. Arhivat din original pe 24 decembrie 2010. (nedefinit)
- RPG, Generator de programe de rapoarte (link indisponibil) . Istoria limbajelor de programare (HOPL), Universitatea Murdoch, AU (2006). Consultat la 1 aprilie 2008. Arhivat din original pe 15 aprilie 2011. (nedefinit)
- DuCharme, Bob Extragerea datelor din computere la mijlocul secolului XX și începutul secolului XXI (26 februarie 2006). Preluat la 1 aprilie 2021. Arhivat din original la 14 mai 2008. (nedefinit)
- Cozzi, Robert The Modern RPG IV Language (1996). Preluat la 1 aprilie 2021. Arhivat din original la 3 noiembrie 2012. (nedefinit)
- Shelly, Gary B. Introducere în RPG-ul de programare pe computer / Gary B. Shelly, Thomas J. Cashman. - Fullerton, California: Anaheim Publishing Company, 1977. - ISBN 0-88236-225-9 .