Jump to content

RPG: Difference between revisions

From EDM2
No edit summary
Ak120 (talk | contribs)
mNo edit summary
 
(25 intermediate revisions by 2 users not shown)
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 [[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. For OS/2 programming it is mostly dead however.
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.


==A list of OS/2 implementations of RPG==
==RPG history==
* [[Code/400]] - Commercial - Discontinued
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 Application Platform]] - Commercial - Discontinued
 
* [[VisualAge for RPG]] - Commercial - Discontinued
===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. Development systems were available for microcomputers running CP/M, DOS and OS/2. Even today you can get RPG 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 few exceptions. But even IBM itself does not support RPG III or IV on mainframes, only RPG II is supported on modern z/OS systems.
 
===RPG III===
RPG III was available for IBM System/38 from 1978.
 
===RPG IV===
'''RPG IV''' was introduced on OS/2 and [[AS/400]] in 1995.
 
==OS/2 Implementations==
(Commercial - Discontinued)
*[[Baby/36]]
*[[Baby/38]]
*[[Baby/400]]
*[[Code/400]]
*[[IBM PS/2 RPG II Application Platform]]
*[[VisualAge for RPG]]
 
;Foreign libraries with RPG bindings
*[[LibcURL]] - Internet URL (WWW, FTP, etc) access - Open Source
 
;RPG related utilities and toolkits
*IBM PS/2 RPG II Application Toolkit
*[[Visual Tools/400]]
 
;IDEs
* [[IBM WorkFrame/2]] - Supports [[Code/400]] and older DOS tools


<!--
==DOS Implementations==
[http://www.inprointernational.com/vtdoc.htm Visual Tools/400] - An extension to IBM's RPG compiler
(Commercial - Discontinued)
-->
*[[Baby/36]]
*[[Baby/400]]
*IBM DOS RPG II
*[[Lattice RPG II]]
*Lattice RPG 400D
*[[PC RPG II]]


====Foreign libraries with RPG bindings====
;DOS RPG utilities
* [[LibcURL]] - Internet URL (WWW, FTP, etc) access - Open Source - Current.
(Commercial - Discontinued)
*[[Lattice CodePRobe]]
====Workframes and or IDE's====
*[[Lattice DFE/DFU]]
* [[IBM WorkFrame/2]] - Supports [[Code/400]] and older DOS tools - Commercial - Discontinued..


==A list of DOS implementations of RPG==
==Win-OS/2 Implementations==
* [[Lattice RPG II]] - Commercial - Discontinued.
*ASNA Visual RPG
* [[Lattice RPG 400D]] - Commercial - Discontinued.
*[[Baby/36]]
*[[Baby/400]]
*Lattice RPG 400W


====DOS RPG utilities====
;RPG related utilities
* [[Lattice CodePRobe]] - Commercial - Discontinued.
*[[Visual Tools/400]]
* [[Lattice DFE/DFU]] - Commercial - Discontinued.


==A list of RPG implementations that run under WinOS/2==
==Publications==
* [[Lattice RPG 400W]] - Commercial - Discontinued.
;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 & publications==
==Links==
* [http://www.jaymoseley.com/hercules/rpgtutor/rpg003.htm RPG logic flow]
* 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
* [https://public.support.unisys.com/aseries/docs/clearpath-mcp-16.0/pdf/86000742-103.pdf Report Program Generator (RPG) Programming Reference Manual] - From [[Unisys]]


====Mailing lists & forums====
;Introductory articles
* [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.
* [http://america.pink/ibm-rpg_2035772.html RPG] - on America Pink


====Tutorials and other learning material====
;Tutorials and other learning material
* [http://www.jaymoseley.com/hercules/rpgtutor/rpgtutor.htm Jay Moseley's RPG 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]


==RPG history==
;Mailing list
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 IV''' was introduced on OS/2 and [[AS/400]] in 1995
* [http://lists.midrange.com/mailman/listinfo/rpg400-l RPG400-l] - Dedicated to RPG on the [[System i]], but amenable to answering other RPG related questions.


[[Category:Programming Languages]]
[[Category:Programming Languages]][[Category:RPG]]
[[Category:RPG]]

Latest revision as of 13:28, 5 September 2022

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. Development systems were available for microcomputers running CP/M, DOS and OS/2. Even today you can get RPG 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 few exceptions. But even IBM itself does not support RPG III or IV on mainframes, only RPG II is supported on modern z/OS systems.

RPG III

RPG III was available for IBM System/38 from 1978.

RPG IV

RPG IV was introduced on OS/2 and AS/400 in 1995.

OS/2 Implementations

(Commercial - Discontinued)

Foreign libraries with RPG bindings
  • LibcURL - Internet URL (WWW, FTP, etc) access - Open Source
RPG related utilities and toolkits
IDEs

DOS Implementations

(Commercial - Discontinued)

DOS RPG utilities

(Commercial - Discontinued)

Win-OS/2 Implementations

RPG related utilities

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

Introductory articles
  • RPG - on America Pink
Tutorials and other learning material
Mailing list
  • RPG400-l - Dedicated to RPG on the System i, but amenable to answering other RPG related questions.