RPG (programming language)
RPG
RPG — Report Program Generator — is the oldest programming language still doing its original job. IBM introduced it in 1959 for the 1401 to generate business reports from data files, and sixty-plus years later RPG IV remains the primary application language of IBM's midrange line — now called IBM i — where RPG II-era code and freshly written free-form code routinely coexist in the same shop.[1]
The language's premise was exactly what its name says: businesses didn't need general computation so much as the same loop forever — read a record, calculate, print, repeat. RPG encoded that loop directly into the programming model as the program cycle: a built-in read-process-write pattern the machine ran automatically, with the programmer supplying only the variations. Around it grew the language's most recognizable feature — fixed-form, column-oriented syntax, where a program's meaning lives partly in which columns its characters occupy. Specification types (Input, Calculation, Output — the famous F/I/C/O sheets that mirrored punched-card thinking) made an RPG program look less like prose and more like an engineering form — because that's what it was: the tabulating-machine workflow reincarnated as a programming language.[2]
A dynasty of midrange machines
RPG's history is the history of IBM's small-business computers:
- RPG (1959) — the 1401 original, reports from files
- RPG II — the workhorse of the System/3 through System/36 era; still supported under z/OS and z/VSE
- RPG III — structured operations for the System/38
- RPG/400 — the AS/400's version
- RPG IV / ILE RPG — the modern language on IBM i, with — at last — free-form syntax, modules, and service programs; release 7.4 shipped in October 2020
The lineage also escaped IBM: RPG implementations ran on DEC VAX, Honeywell, Burroughs, HP 3000, Wang VS, even MS-DOS — the columnar format proved as portable as the punched card it replaced.[3]
Where it sits
RPG is the proof that "dead" is a status languages earn rather than receive. It has no theoretical elegance and no glamour — but it models one thing (process records, produce reports) perfectly enough that billions of lines of it still run the world's midrange back offices. It outlived the 1401, the System/3, the AS/400, and every obituary written for it.
Check your understanding
- What does RPG stand for, when did it appear, and on what machine?
- What is the "program cycle" — the idea RPG hard-wired into the language?
- What made classic RPG syntax unusual among programming languages?
- Is RPG dead?
Show answers
1 — Report Program Generator, 1959, on the IBM 1401. 2 — the built-in read → calculate → output loop; the programmer specified only the per-record logic inside it. 3 — fixed-form, column-oriented syntax — meaning depended on which columns characters occupied (F/I/C/O specification sheets). 4 — No — RPG IV/ILE RPG still runs on IBM i, with modern free-form releases; RPG II code still executes under z/OS and z/VSE.