En plein cœur de l’ère digitale, le Report Program Generator (RPG) continue de fasciner par sa longévité et sa capacité à évoluer depuis les mainframes des années 1960 jusqu’aux plateformes cloud actuelles. Conçu à l’origine pour générer des états imprimés sur IBM 1401 et 360, ce langage a su se réinventer, passant du format fixe à des styles libres et modulaires, tout en restant un pilier dans de nombreuses entreprises. Entre intégrations avec Windows.Net, déploiements sur IBM Power i et adaptations aux enjeux de 2026, RPG se positionne encore comme un atout stratégique. Plongez dans les racines historiques, la structure technique, les cas d’usage modernes, les bonnes pratiques et les perspectives d’un langage signé IBM, tout en explorant son écosystème riche et sans limites.
Genèse et évolution du Report Program Generator (RPG) d’IBM
Le Report Program Generator, connu sous l’abréviation RPG, a vu le jour en 1959 dans les laboratoires d’IBM. Initialement baptisé Générateur Automatique de Programmes (GAP) en France, il était destiné à simplifier la création de rapports sur cartes perforées. À une époque où chaque cycle machine était précieux, RPG a offert une approche déclarative centrée sur un cycle de traitement fixe, très différente des langages structurés modernes.
Plusieurs étapes-clés jalonnent son histoire :
- 1960-1970 : Naissance de RPG I pour IBM 1401, évolution vers RPG II sur System/360.
- Années 1980 : Transition vers AS/400 (RPG III) avec des fonctionnalités élargies et une gestion mémoire améliorée.
- Années 1990 : Apparition de RPG IV (aussi nommé RPGLE) avec support des données libres et d’instructions plus expressives.
- Début 2000 : Adoption par des plateformes tierces telles que Windows.Net (via WINRPG) et OpenVMS.
- 2020-2026 : Intégration dans IBM Power i, modernisation Free-Format et interopérabilité avec les technologies cloud.
Ce parcours n’a pas été linéaire. RPG a d’abord été comparé à COBOL et PL/I. Il a ensuite subi une image de « langage figé », jugé obsolète. Pourtant, chaque version a apporté des réponses aux besoins d’entreprise : optimisation de performance sur des volumes massifs, interface aisée avec des bases DB2, et respect des standards de sécurité IBM.
Au fil des décennies, plusieurs fabricants ont proposé leurs propres implémentations, contribuant à un écosystème sans limites. Unisys, HP et même des communautés open source se sont approprié RPG pour répondre à des besoins variés. Cette diffusion témoigne de la robustesse et de la fiabilité du langage.
Le tableau suivant synthétise les grandes phases :
| Période | Version | Plate-forme | Caractéristique clé |
|---|---|---|---|
| 1960-1970 | RPG I / II | IBM 1401, 360 | Cycle fixe, entrée cartes |
| Années 1980 | RPG III | AS/400 | Gestion d’entrées/sorties améliorée |
| Années 1990 | RPG IV (RPGLE) | System i, Windows.Net | Free-Format, built-in functions |
| 2020-2026 | RPG IV (v7+) | IBM Power i, Cloud | Interopérabilité REST, JSON |
Une anecdote illustre cette longévité : en 2022, une entreprise de négoce de matériel informatique sur AS/400 a opté pour une refonte progressive de ses rapports via RPGLE Free-Format, réduisant de 40 % le temps de maintenance. Ce succès prouve que ce langage, loin d’être figé, s’adapte aux méthodologies DevOps et s’intègre dans des chaînes CI/CD modernes.
La question est donc : comment tirer parti de ce patrimoine technique tout en restant agile ? L’exploration de ses architectures internes est la prochaine étape.
Architecture et fonctionnement du langage RPG moderne
Si les premières versions de RPG s’appuyaient sur un format fixe, les itérations récentes ont ouvert la voie à des syntaxes libres, plus proches des meilleurs langages contemporains. La structure s’articule aujourd’hui autour de plusieurs concepts majeurs :
- Variables et types : prise en










