However, George Farr, who is in charge of the RPG family of compilers for OS/400 and i5/OS, and is technically the technical development manager for development tools at IBM’s Toronto, Canada, software labs, dispelled these rumors while at the same time providing some history about the various RPG compilers and runtime environments within OS/400 and i5/OS and to make clear IBM’s position about earlier RPG code and runtimes and ILE RPG. He also gave ComputerWire some insight into how much old RPG code is out there in the installed base.
IBM’s first Report Program Generator appeared in the 1960s and ran on the 1401 mainframes, which were the predecessors to the System/360 mainframes that were launched in 1964 and which also ran RPG. But even as IBM created the improved RPG II compiler in the 1970s for its mainframes, RPG arguably did not go mainstream until it was ported to the System/3X line of minicomputers, starting with the System/3 in 1969 and culminating with the System/36 in 1983. RPG III, the kicker compiler to RPG III, made its debut with the System/38 in 1978 and had specific features to deal with the integrated relational database engine at the heart of the System/38’s CPF operating system.
With the launch of the AS/400 in June 1988, IBM grabbed the RPG III compiler and made three copies of it and then tweaked them to create the System/36 Extended Environment, the System/38 Extended Environment, and the RPG III native compiler for the AS/400, which was eventually called RPG/400 by the installed base. As the AS/400 evolved, this RPG III-RPG/400 compiler kept evolving, but with OS/400 V2R2 in February 1992, IBM loosened up RPG with ILE RPG, which was called that to fit with the naming conventions of the Integrated Language Environment marketing/technical initiative that IBM was talking about at the time, and this eventually evolved into the free-formatted, C-friendly RPG IV environment that debuted with OS/400 V3R1 in May 1994 and eventually became Java-friendly too.
Farr said RPG IV is strategic and what IBM wants OS/400 shops to do is use WebSphere Development Studio and create RPG IV (as well as Java) applications. As far as we are concerned, RPG III and RPG/400 are not strategic, Farr said. We want people to move to RPG IV and take advantage of the constructs it has. But not being strategic does not mean that they are not in i5/OS, nor does it mean that SEU, PDM, RLU, and other adjunct tools to earlier RPG incarnations have been removed from i5/OS or will be. Moreover, the System/36 and System/38 emulation environments that first appeared inside the AS/400 are still inside the iSeries. Nothing that I know of will change this, said Farr. He is in charge of the compilers on the iSeries, so if he doesn’t know, it isn’t going to happen.
Having said that, Farr conceded that IBM would like to remove RPG III and the System/3X emulation environments from i5/OS because eventually customers have to get on board with RPG IV. But IBM does not seem to be inclined to force the issue with a stick approach, and it is holding out the automatic porting tools for converting RPG III to RPG IV as well as the flexibility of RPG IV as carrots to try to entice customers to move. The conversion tools are not perfect, some subroutines need to be tweaked to procedures, for example, and no one, including programmers, wants to learn a new thing just for the sake of learning it. The move to RPG IV has to be one based on sound business needs.
Many companies have apparently made that jump, so it is probably only a matter of time. Farr said that somewhere between 10% and 15% of the RPG applications running out there in OS/400 land are running it the System/36 or System/38 emulation environments, with another 30% to 35% being written in RPG/400. The remaining 50% to 60% of applications are written in RPG IV. So IBM is at least half-way home.
This leaves an interesting question. What would happen if IBM did remove these older RPG environments from i5/OS? IBM could be tempted a few years down the road to believe that it could push the issue. If it did that, the company would sell a lot fewer iSeries servers and upgrades than it already does, and most would agree that it doesn’t want to do that. And as much as it wants to sell new application development tools to OS/400 shops, until the amount of code not on RPG IV in the installed base dips down to the 10% to 15% range, not the 40% to 50% range it is today, IBM cannot afford to do this. It has taken more than a decade for it to get about half the application code base to move to RPG IV, and it will take at least another five years before the situation gets anywhere near the point where IBM can even think about removing support.
Finally, leaving in the support for the older RPG III environments does not cost IBM anything, except lost sales on new development tools, but if it pulls the plug before the vast majority of the base is ready, it could truly upset the iSeries business, which could cost it a lot of money.