RPG III/RPG400, IBM iSeries, AS400; OS/400, RPG IV/RPG-ILE
History of RPG
RPG is one of the few languages created for punch card machines that is still in common use today. The initials stand for Report Program Generator.
FARGO (Fourteen-o-one Automatic Report Generation Operation) was the predecessor to RPG. Both FARGO and RPG were intended to facilitate ease of transition for IBM tabulating machine unit record equipment technicians to the new IBM 1401 series of computers.
Tab machine technicians were accustomed to plugging wires into control panels to implement input, output, control and counter operations (add, subtract, multiply, divide). Tab machines programs were executed by impulses emitted in a machine cycle; hence, FARGO and RPG emulated the notion of the machine cycle with the program cycle. RPG was superior to and rapidly replaced FARGO as the report generator program of choice.
RPG II was introduced with the System/3 series of computers. It was later used on System/32, System/34, and System/36 and gained subroutines, but still no if-endif blocks and no do loops. Logical conditions were mostly found in on/off “indicators” 1-99 + a number of 2-letter numonics, like LR, etc. and GOTO “spaghetti”.
RPG III, made its debut with the System/38 in 1978. RPG III significantly departed from the original language, providing modern structured constructs like IF-ENDIF blocks and DO loops. But, GOTO’s remained the “tried and true”, “time honored”, method of branching and “spaghetti code” remained the great reality – difficult to shake off.
With the launch of the AS/400 in June 1988, the RPG III native compiler was eventually called RPG/400 by the installed base and as the AS/400 evolved, this RPG III-RPG/400 compiler kept evolving.
RPG ILE or ILE RPG, was released in February 1992, and evolved into RPG IV in 1994. It offered a greater variety of expressions within its new Extended Factor-2 Calculation Specification.
However, it is estimated, by IBM, that somewhere between 10 to 15 percent of the RPG applications running out there in OS/400 land are running it the System/36 or System/38 emulation environments, with another 30 to 35 percent being written in RPG III, aka “RPG400″.
Around 1998 IBM renounced RPG development and started selling the “iSeries” as a Java Machine and by the year 2000 or soon after, few jobs for RPG programmers could be found.
With most RPG programmers extinct, in 2001, with the release of OS/400 V5R1, RPG IV offered a free-format source entry, as an alternative to the original column-dependent source format. Improved, but a little late.