RPG: Difference between revisions
mNo edit summary |
|||
Line 1: | Line 1: | ||
[[IBM]]'s database development language or "Report Program Generator", the use of the full name is discouraged since the remit of the language has grown immensely since it was first conceived and is now a full programming language with emphasis on business applications. Best known as the main application development language behind the [[AS/400]]. | [[IBM]]'s database development language or "Report Program Generator", the use of the full name is discouraged since the remit of the language has grown immensely since it was first conceived and is now a full programming language with emphasis on business applications. Best known as the main application development language behind the [[AS/400]]. | ||
The main reason RPG lives on in the modern world is how well it is integrated into some IBM operating systems, particularly [[System i]], but also that combined with available | The main reason RPG lives on in the modern world is how well it is integrated into some IBM operating systems, particularly [[System i]], but also that combined with available RAD tools it is a considerably more productive and less complex environment than the [[C++]]/[[Java]] + [[SQL]] + Application frameworks environments most people put forward as modern replacements. | ||
==RPG history== | |||
RPG was originally developed in 1959 as the '''Report Program Generator''' and was then a utility that replaced some of the punched card processing on the IBM 1401, '''RPG II''' was introduced for the IBM System/3 in the mid/late 1960s and had by that time started to resemble a programming language more. | |||
===RPG II=== | |||
Introduced on IBM mainframe systems but was made famous when it was shipped with the IBM "small systems" System/3 and later with the incredibly popular System/34]] and System/36 but it also showed up on the relatively obscure System/32 PC, in modern IBM parlance these systems are now referred to not as small systems but as "midrange systems". Something like 80% of all software written for the System/3x machines was written in RPG II with the rest split between [[COBOL]] and object systems (effectively assembler). | |||
RPG II is by far the most supported variant of the language as manufacturers like Unisys, [[DEC]], GE and so on all made RPG II compatible system available on their mainframe and minicomputer systems and development systems were available for microcomputers running CP/M, DOS and OS/2. Even today you can get RGP II support for most mainframe and what remains of the minicomputer industry in addition to a number of [[UNIX]] systems, later variants are however only supported on IBM hardware with at few exception. But even IBM itself does not support RPG III or IV on mainframes, only RPG II is supported on modern Z/OS systems. | |||
===RPG IV=== | |||
'''RPG IV''' was introduced on OS/2 and [[AS/400]] in 1995. | |||
==OS/2 implementations of RPG== | ==OS/2 implementations of RPG== | ||
Line 20: | Line 31: | ||
===Workframes and or IDE's=== | ===Workframes and or IDE's=== | ||
* [[IBM WorkFrame/2]] - Supports [[Code/400]] and older DOS tools - Commercial - Discontinued | * [[IBM WorkFrame/2]] - Supports [[Code/400]] and older DOS tools - Commercial - Discontinued | ||
==DOS implementations of RPG== | ==DOS implementations of RPG== | ||
Line 36: | Line 47: | ||
*[[Lattice DFE/DFU]] | *[[Lattice DFE/DFU]] | ||
== | ==Implementations and tools that run under WinOS/2== | ||
* [[Baby/36]] - Commercial - Discontinued | *[[Baby/36]] - Commercial - Discontinued | ||
* [[Baby/400]] - Commercial - Discontinued | *[[Baby/400]] - Commercial - Discontinued | ||
*Lattice RPG 400W - Commercial - Discontinued | *Lattice RPG 400W - Commercial - Discontinued | ||
====RPG related utilities==== | ====RPG related utilities==== | ||
* [[Visual Tools/400]] - Commercial - Discontinued | *[[Visual Tools/400]] - Commercial - Discontinued | ||
==Publications== | |||
;Books | |||
* Robert Cozzi: ''The Modern RPG IV Language'' 4th edition - MC Press 2006, ISBN 1583470646 | |||
* Robert Cozzi: ''Introduction to RPG'' - MC Press 1997, ISBN 1883884462 | |||
* Robert Cozzi: ''The Modern RPG Language: With Structured Programming'' - MC Press 1996, ISBN 0962182508 | |||
;Manuals | |||
* [https://public.support.unisys.com/aseries/docs/clearpath-mcp-16.0/pdf/86000742-103.pdf Report Program Generator (RPG) Programming Reference Manual] (Unisys) | |||
==Links | ==Links== | ||
* Brian Kelly: [http://www.itjungle.com/tfh/tfh081709-story01.html RPG: A Great Language with a Greater History] | * Brian Kelly: [http://www.itjungle.com/tfh/tfh081709-story01.html RPG: A Great Language with a Greater History] | ||
* Jim Staton: [http://www.mcpressonline.com/rpg/being-a-better-rpg-programmer.html Being a Better RPG Programmer] - 2012 | * Jim Staton: [http://www.mcpressonline.com/rpg/being-a-better-rpg-programmer.html Being a Better RPG Programmer] - 2012 | ||
;Introductory articles | ;Introductory articles | ||
* [http://america.pink/ibm-rpg_2035772.html RPG] - on America Pink | * [http://america.pink/ibm-rpg_2035772.html RPG] - on America Pink | ||
;Tutorials and other learning material | |||
* [http://www.jaymoseley.com/hercules/rpgtutor/rpgtutor.htm Jay Moseley's RGP II tutorial] | * [http://www.jaymoseley.com/hercules/rpgtutor/rpgtutor.htm Jay Moseley's RGP II tutorial] | ||
* [http://www.jaymoseley.com/hercules/rpgtutor/rpg003.htm RPG logic flow] | |||
* [http://enskill.com/online/ Enskill online RPG tutorials] | * [http://enskill.com/online/ Enskill online RPG tutorials] | ||
;Mailing lists & forums | |||
* [http://lists.midrange.com/mailman/listinfo/rpg400-l RPG400-l] - Dedicated to RPG on the [[System i]], but amenable to answering other RPG related quaetions. | |||
[[Category:Programming Languages]] | [[Category:Programming Languages]][[Category:RPG]] | ||
[[Category:RPG]] |
Revision as of 22:09, 25 February 2017
IBM's database development language or "Report Program Generator", the use of the full name is discouraged since the remit of the language has grown immensely since it was first conceived and is now a full programming language with emphasis on business applications. Best known as the main application development language behind the AS/400.
The main reason RPG lives on in the modern world is how well it is integrated into some IBM operating systems, particularly System i, but also that combined with available RAD tools it is a considerably more productive and less complex environment than the C++/Java + SQL + Application frameworks environments most people put forward as modern replacements.
RPG history
RPG was originally developed in 1959 as the Report Program Generator and was then a utility that replaced some of the punched card processing on the IBM 1401, RPG II was introduced for the IBM System/3 in the mid/late 1960s and had by that time started to resemble a programming language more.
RPG II
Introduced on IBM mainframe systems but was made famous when it was shipped with the IBM "small systems" System/3 and later with the incredibly popular System/34]] and System/36 but it also showed up on the relatively obscure System/32 PC, in modern IBM parlance these systems are now referred to not as small systems but as "midrange systems". Something like 80% of all software written for the System/3x machines was written in RPG II with the rest split between COBOL and object systems (effectively assembler).
RPG II is by far the most supported variant of the language as manufacturers like Unisys, DEC, GE and so on all made RPG II compatible system available on their mainframe and minicomputer systems and development systems were available for microcomputers running CP/M, DOS and OS/2. Even today you can get RGP II support for most mainframe and what remains of the minicomputer industry in addition to a number of UNIX systems, later variants are however only supported on IBM hardware with at few exception. But even IBM itself does not support RPG III or IV on mainframes, only RPG II is supported on modern Z/OS systems.
RPG IV
RPG IV was introduced on OS/2 and AS/400 in 1995.
OS/2 implementations of RPG
(Commercial - Discontinued)
Foreign libraries with RPG bindings
- LibcURL - Internet URL (WWW, FTP, etc) access - Open Source - Current
- IBM PS/2 RPG II Application Toolkit - Commercial - Discontinued
- Visual Tools/400 - Commercial - Discontinued
Workframes and or IDE's
- IBM WorkFrame/2 - Supports Code/400 and older DOS tools - Commercial - Discontinued
DOS implementations of RPG
(Commercial - Discontinued)
- Baby/36
- Baby/400
- IBM DOS RPG II
- Lattice RPG II
- Lattice RPG 400D
- PC RPG II
DOS RPG utilities
(Commercial - Discontinued)
Implementations and tools that run under WinOS/2
- Baby/36 - Commercial - Discontinued
- Baby/400 - Commercial - Discontinued
- Lattice RPG 400W - Commercial - Discontinued
- Visual Tools/400 - Commercial - Discontinued
Publications
- Books
- Robert Cozzi: The Modern RPG IV Language 4th edition - MC Press 2006, ISBN 1583470646
- Robert Cozzi: Introduction to RPG - MC Press 1997, ISBN 1883884462
- Robert Cozzi: The Modern RPG Language: With Structured Programming - MC Press 1996, ISBN 0962182508
- Manuals
Links
- Brian Kelly: RPG: A Great Language with a Greater History
- Jim Staton: Being a Better RPG Programmer - 2012
- Introductory articles
- RPG - on America Pink
- Tutorials and other learning material
- Mailing lists & forums