23
Mon, Dec
3 New Articles

Practical RPG: The Future of RPG

RPG
Typography
  • Smaller Small Medium Big Bigger
  • Default Helvetica Segoe Georgia Times

There is no crystal ball deciding the future of the language, but we can identify trends, and some of the trends may surprise you.

 

The IBM midrange is unique in that it has always been focused on business programming, with a particular emphasis on the database. The database was so integral a part of the machine that for a very long time it didn't even have a name. Over the years, the database acquired nearly all of the features of its relational cousin DB2, enough that it could be called IBM DB2 for i. But no other platform has RPG. RPG is the assembly language of IBM DB2 for i, and as long as there is breath in the IBM midrange platform, the oxygen will be RPG.

What's Special About RPG?

If you've read what I've written about RPG over the years, you already know my position: RPG is the best language available for defining data-driven business rules. It has historically been fast to program and fast to execute, and it's designed with business processes in mind. It came to prominence on machines that ran entire enterprises in 16K of RAM. To put that in perspective, that's considerably smaller than the Word document for this article. Those same enterprises routinely ran on 3340 disk packs with a whopping 2MB of storage, not much more than what you could put on an old 3.5" diskette (actually, the extended density diskettes could hold nearly 3MB of data). I only bring this up to illustrate how RPG has always been able to get a whole lot of bang out of your IT buck.

 

But what makes RPG truly unique is how it has evolved over the years. From the early days of RPG II (to be honest, even I am not old enough to be familiar with the original RPG language) on through the current days of RPG /free, the language has continued to progress, adding the features needed to support each new generation of business requirements. And the changes were significant: controlled programming constructs in the '80s, ILE in the '90s, /free in the '00s. RPG OA is perhaps the first glimpse of what the '10s will bring. Because of this, RPG remains a viable language for current business development.

But What About the Future?

The future of RPG is always in doubt. Part of that is because the language is tightly tied to the IBM midrange platform. It has never really pushed outside that particular niche, although for a brief time it had a little more breadth, whether it was on HP hardware or IBM mainframes or even a small but vibrant group of IBM midrange emulation packages (Baby/38, anyone?). So the future of the language is always going to be directly dependent upon the future of the platform. At the same time, there have been groups of people both inside and outside of IBM who have over the years announced (prematurely so far) the demise of the language. Whether it's IBM's infamous hamburger-flipping advertisement of the late '90s or the current call to PHP, someone is always saying there's a better RPG than RPG. They're always wrong, but they keep saying it! Unfortunately, it's difficult to get an objective view of the situation. We're often forced to listen to anecdotal evidence presented by less-than-impartial sources.

 

So today I'm going to introduce you to as objective and substantial a source as I can find. It's not perfect, by any means, but it's certainly less biased than anybody who has skin in the IBM i game, whether selling software or services around a particular language or even just writing the occasional article. That source is the TIOBE Programming Community Index. For over a decade, TIOBE has published a monthly index of the popularity of programming languages. TIOBE ranks languages based on their appearance in popular search engines, using a percentage scale. You may or may not agree with their approach, but they have been consistent over the years, and that consistency by itself lends credence to TIOBE's numbers, especially when looking at trends. And the latest edition offers a rather eye-opening observation: general-purpose scripting languages are in decline.

 

Over the past two years, the popularity of the general scripting languages—Perl, PHP, Python, and Ruby—has dropped significantly. PHP is still the leader with a 6.6 percent share of TIOBE's measured approach, but that's a pretty steep decline from 9.7 percent just two years before and from its heyday of around 12 percent back in the early 2000s. Perl and Ruby—and to a slightly lesser extent, Python—have all suffered similar popularity drops. Overall, the general scripting languages have fallen from over 21 percent of TIOBE's index to just over 14 percent; a relative drop of some 30 percent. Much of this can probably be attributed to a corresponding rise in the popularity of languages like Objective C and Lua, which are geared more for the mobile marketplace and especially for the iPhone and iPad. In fact, the percentage lost by the scripting languages is almost entirely made up for by the increase in these mobile-oriented languages. Take a look at the charts for the two different language sets:

 

070611PlutaFigure1 

Figure 1: Compare the TIOBE popularity figures for scripting languages (top) and mobile languages (bottom). (Click images to enlarge.)

 

The figures are pretty eloquent. Over the last two years, all of the general scripting languages have been in decline, perhaps none so dramatically as PHP. Meanwhile, the mobile languages have leapt upward. Moving from fact to opinion, I can make a conjecture. The popularity of languages on the TIOBE index, especially for the big movers, tends to reflect the "hotness" of a language: both how cool the language is and how hip its target deployment is. Web 2.0 was all the rage a few eyeblinks ago; thus, so were its enabling programming languages. Nowadays, mobile is the hot ticket, so you see a significant uptick in the related technologies. Lua gets a big boost by the fact that it is the primary language for one of the more popular mobile apps in the world today: the ubiquitous Angry Birds.

Hello? RPG?

So by now you're wondering about how this relates to RPG. Let me give you one more chart first. This is the chart of the Big Three of all languages. These three languages have been the most popular overall in the TIOBE index for some time, and mostly in this order: Java, C, and C++. Java and C traded positions a couple of times in the last decade, and C++ was overtaken for brief periods by Visual Basic (VB) and most recently by PHP, only to regain its position. Here's the chart for those languages:

 

070611PlutaFigure2

Figure 2: The major general-purpose languages show remarkable consistency year to year. 

 

What is interesting is the consistency. They tend to suffer the slings and arrows of time quite well—down a little here, back up a little there—but continuing to account for nearly half of the TIOBE index amongst themselves. They're neither in a steep decline nor in a rocket to the top (which often is followed by—you guessed it!—a steep decline). What might this have to do with our beloved RPG? Well, take a look at this chart:

 

070611PlutaFigure3

Figure 3: RPG also shows consistency, not to mention staying in the top 20.

 

It shows more fluctuation than the Big Three, but it does seem a lot more stable than a language that is in danger of imminent demise. And lest you think those numbers are insignificant, RPG is currently in 18th place on the list, beating out languages such as PL/SQL, COBOL, and ABAP and jockeying for position with T-SQL. Not necessarily the picture of doom.

 

So, is RPG the language of the future? Given the realities of today's business world, probably not. I don't think that's the fault of the language. It could be if IBM got its marketing act together and positioned the IBM i as a high-performance business rules appliance with SQL and Java as its primary interfaces and RPG as its internal development tool, but even without that (unfortunately unlikely) event, it certainly seems to me that the news of RPG's demise is just a bit premature. There is no clear successor. What best fits your objectives? You can hitch your wagon on a new and rising star like Lua, grab the declining glory of a previous hot shot like PHP or Ruby, or stick with the tried and true of either a major language like Java or a niche language like RPG. The choice is never simple, but maybe these charts can help your decision-making.

as/400, os/400, iseries, system i, i5/os, ibm i, power systems, 6.1, 7.1, V7, V6R1

BLOG COMMENTS POWERED BY DISQUS

LATEST COMMENTS

Support MC Press Online

$

Book Reviews

Resource Center

  • SB Profound WC 5536 Have you been wondering about Node.js? Our free Node.js Webinar Series takes you from total beginner to creating a fully-functional IBM i Node.js business application. You can find Part 1 here. In Part 2 of our free Node.js Webinar Series, Brian May teaches you the different tooling options available for writing code, debugging, and using Git for version control. Brian will briefly discuss the different tools available, and demonstrate his preferred setup for Node development on IBM i or any platform. Attend this webinar to learn:

  • SB Profound WP 5539More than ever, there is a demand for IT to deliver innovation. Your IBM i has been an essential part of your business operations for years. However, your organization may struggle to maintain the current system and implement new projects. The thousands of customers we've worked with and surveyed state that expectations regarding the digital footprint and vision of the company are not aligned with the current IT environment.

  • SB HelpSystems ROBOT Generic IBM announced the E1080 servers using the latest Power10 processor in September 2021. The most powerful processor from IBM to date, Power10 is designed to handle the demands of doing business in today’s high-tech atmosphere, including running cloud applications, supporting big data, and managing AI workloads. But what does Power10 mean for your data center? In this recorded webinar, IBMers Dan Sundt and Dylan Boday join IBM Power Champion Tom Huntington for a discussion on why Power10 technology is the right strategic investment if you run IBM i, AIX, or Linux. In this action-packed hour, Tom will share trends from the IBM i and AIX user communities while Dan and Dylan dive into the tech specs for key hardware, including:

  • Magic MarkTRY the one package that solves all your document design and printing challenges on all your platforms. Produce bar code labels, electronic forms, ad hoc reports, and RFID tags – without programming! MarkMagic is the only document design and print solution that combines report writing, WYSIWYG label and forms design, and conditional printing in one integrated product. Make sure your data survives when catastrophe hits. Request your trial now!  Request Now.

  • SB HelpSystems ROBOT GenericForms of ransomware has been around for over 30 years, and with more and more organizations suffering attacks each year, it continues to endure. What has made ransomware such a durable threat and what is the best way to combat it? In order to prevent ransomware, organizations must first understand how it works.

  • SB HelpSystems ROBOT GenericIT security is a top priority for businesses around the world, but most IBM i pros don’t know where to begin—and most cybersecurity experts don’t know IBM i. In this session, Robin Tatam explores the business impact of lax IBM i security, the top vulnerabilities putting IBM i at risk, and the steps you can take to protect your organization. If you’re looking to avoid unexpected downtime or corrupted data, you don’t want to miss this session.

  • SB HelpSystems ROBOT GenericCan you trust all of your users all of the time? A typical end user receives 16 malicious emails each month, but only 17 percent of these phishing campaigns are reported to IT. Once an attack is underway, most organizations won’t discover the breach until six months later. A staggering amount of damage can occur in that time. Despite these risks, 93 percent of organizations are leaving their IBM i systems vulnerable to cybercrime. In this on-demand webinar, IBM i security experts Robin Tatam and Sandi Moore will reveal:

  • FORTRA Disaster protection is vital to every business. Yet, it often consists of patched together procedures that are prone to error. From automatic backups to data encryption to media management, Robot automates the routine (yet often complex) tasks of iSeries backup and recovery, saving you time and money and making the process safer and more reliable. Automate your backups with the Robot Backup and Recovery Solution. Key features include:

  • FORTRAManaging messages on your IBM i can be more than a full-time job if you have to do it manually. Messages need a response and resources must be monitored—often over multiple systems and across platforms. How can you be sure you won’t miss important system events? Automate your message center with the Robot Message Management Solution. Key features include:

  • FORTRAThe thought of printing, distributing, and storing iSeries reports manually may reduce you to tears. Paper and labor costs associated with report generation can spiral out of control. Mountains of paper threaten to swamp your files. Robot automates report bursting, distribution, bundling, and archiving, and offers secure, selective online report viewing. Manage your reports with the Robot Report Management Solution. Key features include:

  • FORTRAFor over 30 years, Robot has been a leader in systems management for IBM i. With batch job creation and scheduling at its core, the Robot Job Scheduling Solution reduces the opportunity for human error and helps you maintain service levels, automating even the biggest, most complex runbooks. Manage your job schedule with the Robot Job Scheduling Solution. Key features include:

  • LANSA Business users want new applications now. Market and regulatory pressures require faster application updates and delivery into production. Your IBM i developers may be approaching retirement, and you see no sure way to fill their positions with experienced developers. In addition, you may be caught between maintaining your existing applications and the uncertainty of moving to something new.

  • LANSAWhen it comes to creating your business applications, there are hundreds of coding platforms and programming languages to choose from. These options range from very complex traditional programming languages to Low-Code platforms where sometimes no traditional coding experience is needed. Download our whitepaper, The Power of Writing Code in a Low-Code Solution, and:

  • LANSASupply Chain is becoming increasingly complex and unpredictable. From raw materials for manufacturing to food supply chains, the journey from source to production to delivery to consumers is marred with inefficiencies, manual processes, shortages, recalls, counterfeits, and scandals. In this webinar, we discuss how:

  • The MC Resource Centers bring you the widest selection of white papers, trial software, and on-demand webcasts for you to choose from. >> Review the list of White Papers, Trial Software or On-Demand Webcast at the MC Press Resource Center. >> Add the items to yru Cart and complet he checkout process and submit

  • Profound Logic Have you been wondering about Node.js? Our free Node.js Webinar Series takes you from total beginner to creating a fully-functional IBM i Node.js business application.

  • SB Profound WC 5536Join us for this hour-long webcast that will explore:

  • Fortra IT managers hoping to find new IBM i talent are discovering that the pool of experienced RPG programmers and operators or administrators with intimate knowledge of the operating system and the applications that run on it is small. This begs the question: How will you manage the platform that supports such a big part of your business? This guide offers strategies and software suggestions to help you plan IT staffing and resources and smooth the transition after your AS/400 talent retires. Read on to learn: