The Evolution of RPG: From System/36 to the Modern IBM i

Follow us on:

  • Novacomp Youtube
  • Novacomp Linkedin
  • Novacomp Threads
  • Novacomp Facebook
  • Novacomp Instagram
  • Novacomp X
  • Novacomp Tiktok

An old language? More like one that has never stopped evolving.

1. The Origins: System/36 and RPG II (1970s – 1983)

RPG (Report Program Generator) was born in the 1960s, but it was with RPG II that it truly became established, as the flagship language for the System/3 and later System/36. It was report-oriented, with a rigid structure and a design focused on batch processing. The code columns were fixed: the programmer had to know which column to write each type of instruction in. Even so, it automated accounting and billing processes with great efficiency.

Technical milestones:

  • Heavy use of punched cards.
  • Rigid code structure based on column positions.
  • Powerful for its time in terms of input/output of records.

2. IBM AS/400 and RPG III (1988)

With the release of the AS/400 in 1988, IBM introduced RPG III, a more powerful and structured language. The fixed format was maintained, but significant improvements were made in modularity, data structure declarations, and support for integrated databases (DB2/400).

Revolutions:

  • More structured control over program flow.
  • Definition of more complex data structures.
  • Backward compatibility with RPG II, facilitating migration.

3. The Arrival of RPG IV (RPGLE) and the Era of Modules (1994)

In 1994, IBM released RPG IV, also known as RPGLE (RPG Language Enhanced). It was a turning point: no longer just a reporting language, but a modular language, oriented towards subprocedures, with the ability to work in ILE (Integrated Language Environment) environments.

Key Features:

  • Introduction of prototypes and subprocedures.
  • More robust variable typing.
  • Clear separation between calculation specifications, definitions, and prototypes.
  • Interoperability with other languages in the ILE environment.

4. RPG Free Format (2001)

At the beginning of the 21st century, IBM made a decisive step toward syntactical modernization with RPG Free Format. The rigid column-based structure was abandoned, allowing programming with a syntax similar to modern languages like Java or C.

Innovations:

  • Free, readable syntax.
  • Compatible with modern development tools (IDEs like RDi).
  • Maintains compatibility with ILE and older structures.

5. SQLRPGLE (2004 onwards)

The integration of embedded SQL directly into RPG represents a revolution in data access. No longer is it necessary to read file by file: you can use SELECT, UPDATE, INSERT directly within RPG code.

Technical Strengths:

  • Powerful combination of procedural logic and declarative data access.
  • Significant reduction in code needed for database manipulation.
  • Performance optimization through DB2's Query Optimizer.

6. RPG Full Free (2013 – present)

In IBM i 7.1 TR7 (2013), the fully free-form RPG (Full Free Format) was introduced. With this paradigm, traditional specifications like D, P, and C are completely gone. Now everything is written freely, with a modern code structure.

What makes it revolutionary:

  • Compatible with version control (Git), CI/CD integration.
  • Standardization with modern languages: curly braces {}, if, for, dcl-s, dcl-proc.
  • Ideal for RESTful development, integration with APIs, modern frameworks, and even unit testing.

7. IBM i Today: A Living and Modern Platform

Contrary to the myth that IBM i is a 'legacy' system, the reality is that it is a living, secure, scalable, and entirely modern platform. RPG has evolved alongside the market, and today it is fully possible to create APIs, microservices, integrate with Node.js, Python, OpenAI, or Azure, all from IBM i.

And the best part: it doesn't lose compatibility with applications that have been running perfectly for over 30 years.

The RPG Didn't Die, It Transformed

RPG is like the language of a resilient civilization: it changes, adapts, but maintains its essence. In 2025, RPG Full Free and SQLRPGLE are languages with real capacity to compete in modern environments. And if your bank's backend or a major company's system is still running on IBM i, it's probably due to that very same stability and power.

Author:
Jorge De Trinidad - 2025
Expert Coach

Novito
  • -
  • +
Hello! Welcome, we are delighted to help you. By starting this chat, you accept that your data will be stored according to our privacy policy.