RPG è uno dei linguaggi di programmazione più antichi ancora in uso commerciale quotidiano. IBM lo ha creato nel 1959 per il computer IBM 1401, dove ha sostituito l'elaborazione delle schede perforate e ha generato report aziendali, dai quali trae il suo nome (Report Program Generator) come racconta l'autore Nick Litten in "A Brief History of the IBM RPG Programming Language". Per decenni si è occupato di stipendi, inventario e fatturazione per banche, assicuratori, produttori e rivenditori.
Il linguaggio si è poi evoluto nel corso degli anni. RPG II, la versione degli anni '60 e '70, era piuttosto rigida: i programmatori inserivano il codice in colonne fisse e si affidavano a un ciclo di elaborazione integrato. RPG III, introdotto con il System/38 nel 1979, aggiunse elementi costitutivi strutturati, come test condizionali, cicli e subroutine riutilizzabili, ormai indispensabili per i programmatori. IBM lo ha ribattezzato RPG/400 quando l'AS/400 fu lanciato nel 1988, secondo Wikipedia.
RPG IV, introdotto a metà degli anni '90, è la versione moderna di RPG utilizzata sui sistemi IBM i. È diventato parte dell'Integrated Language Environment di IBM, che ha permesso all'RPG di funzionare più facilmente insieme ad altri linguaggi aziendali come COBOL e C. Da allora, IBM ha costantemente modernizzato l'RPG, allontanandolo dal suo vecchio formato rigido basato su colonne. L'RPG di oggi, spesso chiamato RPGLE o ILE RPG, può essere scritto in uno stile libero che assomiglia molto più al normale codice moderno rispetto all'RPG dei decenni passati.