Welcome back to my blog series on truth about IBM i RPG legacy code. In part two, we’ll cover how our industry talks a lot of “legacy” vs. “modern” code, but what does that really mean for your business needs? It’s time to really dive into the history of legacy languages and modern languages for enterprise businesses. For the IBM i (AS400, iSeries) market, that focus primarily turns to RPG as a coding language.If you missed part one, catch up here
History of RPG
To gently point out, RPG (Report Program Generator) was introduced in 1959. It started its usefulness as a punch-card application language designed initially to replace plug boards. It was created for the programmer who knew how to wire a plug board and generate the infamous green-bar reports, evolving to RPG II in the late 1960s with System/3 series (32/35/36). Then evolved to RPG III with System/38 and AS400 in the 1980’s, and finally moved to RPG IV/ILE RPG in 1994.Currently, the language is now available as free format RPGLE, which makes it easier for new IBM i developers to learn and supports modern programming capabilities along with a handler for interfaces (i.e. no more green screens). Still, if you’re running your business applications on IBM i RPG, there’s a good chance those applications are monolithic, full of dead code, and not portable. If you want to implement microservices, connect IBM i and non-IBM i data, and eventually move to a cloud or hybrid-cloud environment, you’ll need to take a look at a better alternative.
Java and .NET
As Windows development and client/server development began to dominate because of end-user demand, many languages were introduced to facilitate that wave of modern development. However, the enterprise focused development communities seemed to favor two new languages, Java which was released in the mid 1990s, and the languages that participate in the .NET framework, which was released in early 2000s, both with a focus on object-oriented programming. As web development became a requirement in business, both Java and .NET evolved to remain strong contenders. Like RPG, both Java and .NET continue to evolve with new versions, but both are nearing 20-25 years of age. If you begin to think of the massive changes in technology since Java and .NET were introduced, it certainly points to the need for newer, more modern enterprise languages that were created to natively (not modified/versioned) address the newest technological frontiers.
Node.js, a Modern, Open-Source Option