Welcome back to my blog series on truth about IBM i 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
One of the proven front-runners is Node.js, which is an open-source, cross-platform, unifying programming language that uses JavaScript, the most widely used language in the world. Node.js runs on both the server and the client so you don’t have to learn multiple languages to develop applications. Node.js was written in 2009, maturing enough over the last 11 years to be used by companies like Netflix, Uber, Walmart, PayPal, eBay, NASA, and many more for the building and successful deployment of their primary enterprise applications.
Legacy IBM i programming languages such as RPG, Java and .NET have built the foundation of application development, but now might be the time to use that foundation to push your business into the future. We’ll cover that next time… in the meanwhile, you can learn more about how Node.js benefits the business with our most recent on-demand webinar, Connecting IBM i Users to Vital Business Data with Node.js.