RPG

From MidrangeWiki
Revision as of 05:52, 7 June 2005 by Al Mac (talk | contribs) (RPG vs. other languages: RPG & GUI)
Jump to: navigation, search

RPG, which stands for Report Program Generator, is an easy to learn and understand programming language that is well suited for developing business applications.

Programmers, coming to RPG from other programming environments, will still need to get some education to familiarize themselves with its capabilities, and how it functions.

There are four major versions of RPG currently in use... RPG II, RPG III, RPG 400, and RPG 4 (sometimes referred to as ILE RPG).

The RPG400-L mailing list hosted by midrange.com is for discussion of RPG programming.

RPG is available only on IBM Midrange platforms, this is because the technology has evolved over many years to leverage operating system resources.

OS/400 contains extensive support for debugging and run-time identification of RPG code. There is a large established base of RPG code in production environments, usually performing heavy-lifting batch-oriented data tasks, or providing support for interactive ERP applications, either with native 5250 interface or with a GUI or Web Skin applied over the 5250 data stream.

RPG vs. other languages

Compared to other programming languages, RPG is especially strong in

  • transactional processing;
  • data base access, such as DB2;

The main perceived flaw with RPG is that it is not object oriented, nor does it contain direct support for GUI Graphical User Interface.

Although RPG from IBM is perceived as not having tood GUI support, there are RPG Third Party offerings to fill that gap.

RPG vs. Java

A comparison between RPG and Java can be made so long as Java is used in a developer framework or one of the available application servers. Unlike Java, however RPG contains language-level features for common business tasks such as database access.

Objects and RPG

Although RPG is perceived as not being object-oriented, the 400 is composed entirely of objects that can be manipulated by RPG and other languages on the 400.

Many versions of RPG, for a long time, have had the capability of importing standardized blocks of code to do standard functions, such as via /COPY. Also several versions or RPG support CALL a sub-program, thus many aspects of object management are represented within RPG.