And, ‘yes’, we still work with it – and for good reason too.
A short summary would be this: RPG (‘Report Program Generator’) code is the foundation for building and maintaining applications on IBM’s midrange systems (ie; IBM i, System/360, IBM 1401 and more ). Over time, it has evolved to incorporate modern programming practices while maintaining its core strengths. So, as long as our clients have IBM system, we will continue to maintain our knowledge and capability using RPG.
Why not get clients to move away from RPG?
Unfortunately, it’s not as easy as that. Legacy systems can be expensive and pose a threat to business as usual should any errors occur when changing systems – making it a serious consideration and perhaps a long-term option on the corporate balance sheets.
How integral is it to IBM systems?
In the context of IBM’s RPG programming language, RPG refers to the lines of code written to create and run applications on their midrange systems, such as IBM i. It’s a high-level procedural language designed for business applications, and although its syntax and structure have evolved over time, it still represents an “older” way of coding to people who are newer to coding.
In terms of capabilities, RPG code is used to handle various legacy tasks such as report generation, data processing, and building complex business logic but also more modern tasks for serving web pages and web applications.
How does it compare to other programming languages such as Python, PHP and even Java for example?
All languages have their strengths, but as RPG is so deeply integrated with the IBM i platform, it is particularly good at batch processing, database integration and transaction management. However, RPG is limited in the fact that it is primarily used on IBM i which therefore limits its portability.
Python is a much more versatile language and is often used for data analysis and machine learning. Contrasting with RPG, it is a popular choice due to it’s easy to read syntax. However, it can potentially be slower for some web applications compared to PHP.
PHP has a large community and therefore well-supported frameworks. It’s specifically designed for backend logic and server-code scripting but is less versatile than the more modern Python.
Although still widely used, we tend to work in Java less these days. It is more ‘general purpose’ and used in a wider range of applications from web development and enterprise applications than RPG – and also boasts a much larger ecosystem of libraries, frameworks and tools. Additionally, Java is platform independent making it very versatile.
RPG – Here to stay
As far as Merisis are concerned, RPG is here for the time being. Although it may no longer represent the future direction of coding, it represents a robust past – one which is very much part of Merisis’ backbone. As with all projects, we always consider the options and implications for what technical approach we take with the aim always being to produce the best result we can. That may mean working in Python, PHP or even Java. And if sometimes this means putting on our RPG hats, then we will do that with absolute confidence.