Jump to content

RPG: Difference between revisions

From EDM2
Ak120 (talk | contribs)
Ak120 (talk | contribs)
mNo edit summary
 
(5 intermediate revisions by the same user 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.


==OS/2 implementations of RPG==
==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)
(Commercial - Discontinued)
*[[Baby/36]]
*[[Baby/36]]
Line 12: Line 26:
*[[VisualAge for RPG]]
*[[VisualAge for RPG]]


===Foreign libraries with RPG bindings===
;Foreign libraries with RPG bindings
*[[LibcURL]] - Internet URL (WWW, FTP, etc) access - Open Source - Current
*[[LibcURL]] - Internet URL (WWW, FTP, etc) access - Open Source


===RPG related utilities and toolkits===
;RPG related utilities and toolkits
*IBM PS/2 RPG II Application Toolkit - Commercial - Discontinued
*IBM PS/2 RPG II Application Toolkit
*[[Visual Tools/400]] - Commercial - Discontinued
*[[Visual Tools/400]]


===Workframes and or IDE's===
;IDEs
* [[IBM WorkFrame/2]] - Supports [[Code/400]] and older DOS tools - Commercial - Discontinued.
* [[IBM WorkFrame/2]] - Supports [[Code/400]] and older DOS tools


==DOS implementations of RPG==
==DOS Implementations==
(Commercial - Discontinued)
(Commercial - Discontinued)
*[[Baby/36]]
*[[Baby/36]]
Line 31: Line 45:
*[[PC RPG II]]
*[[PC RPG II]]


===DOS RPG utilities===
;DOS RPG utilities
(Commercial - Discontinued)
(Commercial - Discontinued)
*[[Lattice CodePRobe]]
*[[Lattice CodePRobe]]
*[[Lattice DFE/DFU]]
*[[Lattice DFE/DFU]]


==A list of RPG implementations and tools that run under WinOS/2==
==Win-OS/2 Implementations==
* [[Baby/36]] - Commercial - Discontinued
*ASNA Visual RPG
* [[Baby/400]] - Commercial - Discontinued
*[[Baby/36]]
*Lattice RPG 400W - Commercial - Discontinued
*[[Baby/400]]
*Lattice RPG 400W


====RPG related utilities====
;RPG related utilities
* [[Visual Tools/400]] - Commercial - Discontinued
*[[Visual Tools/400]]


==Links & publications==
==Publications==
* [http://www.jaymoseley.com/hercules/rpgtutor/rpg003.htm RPG logic flow]
;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==
* 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]]
 
;Books
* Robert Cozzi: ''The Modern RPG IV Language'' 4th edition - 2006 - MC Press - ISBN 1583470646
* Robert Cozzi: ''Introduction to RPG'' - 1997 - MC Press - ISBN 1883884462
* Robert Cozzi: ''The Modern RPG Language: With Structured Programming'' - 1996 - MC Press - ISBN 0962182508
;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
====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.


====Tutorials and other learning material====
;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 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.
 
===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.


[[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.