Skip to content
ALB Wiki

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.

Footnotes

  1. ↑ IBM RPG — 1959/1401 origin and its continuing role as the midrange language
  2. ↑ IBM RPG — the program cycle and column-oriented syntax; RPG descended from FARGO and 9PAC
  3. ↑ IBM RPG dialects — the II/III/400/IV succession and the non-IBM ports
Categories: History · Languages · Programming
This page was last edited 2026-10-22 13:43:00 UTC by ALB Team. What links here