Tuesday, May 29, 2012

Is RPG Dead? Do We Still Have To Ask?

Guess what, folks? It's that time of year again when people debate the future of RPG. Is RPG dead? Think about it: Does anyone ever ask that question about any other programming language? Why do some people still insist that RPG does have a future?

To start with, let me make one assertion: Of all participants in this debate, I'm one of the very few who is both knowledgeable about RPG and who does not have a financial stake either way. Some commentators make their living by moving people off of IBM i. Others make a living doing RPG programming or training others. If anything, I don't relish the idea of RPG disappearing because of my long involvement with RPG development.

RPG is very much unlike practically all other programming languages in use for application development. It is one of the few programming languages that is available on only one operating system. That's right! If you want to do RPG programming, you need a system with the IBM i operating system. And IBM i is one of the last of the traditional proprietary operating systems.

What do I mean by that? Look back at the history of computers: In the 1950's and 1960's, there were a lot of computer companies, colloquially called "IBM and the Seven Dwarfs". After a couple of mergers, they became "IBM and the BUNCH" (Burroughs, Univac, NCR, Control Data Corporation, and Honeywell). Each one had their own mainframe computer products. And each computer ran its own proprietary operating system, each incompatible with all the others. Over time, almost all of these proprietary operating systems have disappeared. Today, there are just two left: z/OS and IBM i.

Today, most computers run either Windows, or some variant of Unix or Linux. Even the machines that run the O/S relics z/OS and IBM i now also run Linux, with significant cost savings over the dinosaurs.

So here's the current situation: The fact is that the main reason for running IBM i is to run RPG applications. And to be fair, a lot of them are still running. Without RPG, there's no reason to choose IBM i. And without IBM i, there's no way to run RPG apps.

Is there a future for IBM i? When I was looking for work back in 2007, one headhunter specifically told me that the bottom had fallen out of the i job market. Indeed, over the course of about 8 months, I saw only three listings for iSeries jobs in the greater Toronto area. If there are so few IBM i job openings in the 8th largest metropolitan area in North America, what hope is there for IBM i programmers elsewhere?

Frankly, in this day and age, if you want to develop a new application, it just doesn't make any sense at all to limit yourself to one particular operating system. Especially one that is clearly in decline. Other languages like C, C++, PHP, and Python can run on practically any operating system. If you want to protect the value of your software development investment, clearly, any of these other languages is the way to go.

I have more to say about RPG, but I'll save that for another blog post. Stay tuned!

Cheers! Hans

8 comments:

  1. Good post Hans.

    There is certainly the personal issue - if I lost my RPG job, I am not at all certain I could find another one. On the other hand, the job market in general is horrible around here, and I would be only slightly more optimistic if I were a plumber. The truth is that there is an RPG job market - it is thin, getting thinner, but it is there.

    Turning from my personal prospects to the business aspect, I work for an organisation that has thousands of RPG programs. The company isn't going to move them to the web - there's no business need. Some of them are getting extended to the web, and we're doing that via RPG stored procs. It makes almost no business sense for our company to train me in C++, or to write those new apps/extensions in C++. C++ offers nothing over RPG in this case.

    With that as background, how does a company protect the value of its software investment by switching from RPG to C++? I'm not disagreeing with you as much as I am asking about the transition plan.

    ReplyDelete
  2. Hey Buck!

    You make some good points. If your business is happy with its suite of i apps, there's little reason to convert. My point is that it doesn't make sense to write new apps that are limited to one system.

    Also, I wouldn't dream of asking RPG programmers to learn C++. Or even Java or C# for that matter. Better to learn one of the interpreted OO languages, like Python or PHP.

    And certainly, the issue is personal for many people. Heck, I'm between jobs again myself, and IT jobs are scarce. But considering the stresses of IT, I wouldn't mind a job in a different field.

    Hans

    ReplyDelete
    Replies
    1. C++ was just an example; Python works just as well for the sake of example. The back and forth is helping me focus my thoughts, thanks!

      Maybe my mental block is with the phrase 'new apps'. We here have sort of come to the conclusion that the RPG staff won't be doing web-related programming for a long time. That is, we won't be doing front-end work; there's an existing web team who do that. They don't always need data from DB2, but when they do, the RPG team provide stored procedures they can call to both get and set DB2 data from the web. I don't know if that qualifies as a new app or not. If not, I think I can agree where you're going; it's a difficult thing to try to sell a brand new 5250-only app to management in a world where the iPhone can control your house thermostat.

      Delete
  3. Great post! Very interesting read.

    --Dan

    ReplyDelete
  4. "The fact is that the main reason for running IBM i is to run RPG applications. And to be fair, a lot of them are still running. Without RPG, there's no reason to choose IBM i. And without IBM i, there's no way to run RPG apps."

    This paragraph hits the nail on the head. Whether people call the machine AS400, iSeries, System i or IBM i on Power, everything still comes back to this basic point about the machine's raison d'etre. I still don't think that RPG is dead, but I don't see many people investing money in creating a new business software package written in RPG either.

    RPG will continue to live on for years to come, simply because of the sheer size of the existing estate. Existing systems will continue to be maintained and enhanced.. companies that already have an IBM i will probably deploy new applications and databases onto it - why would you not make the most of your investment in an expensive server? - but the direction of travel is only going one way. All the community and IBM can do is to work to make sure that it can continue to meet business needs and give people reasons to stay on the platform, not excuses to migrate from it. That at least will slow the decline... but RPG programmers with an eye on the future really are best advised to broaden their skill set.

    ReplyDelete
  5. Without RPG there is no reason to choose IBM i? You're kidding right?

    I'd hardly call IBM i 7.1 on Power Systems a relic. You're eluding that there hasn't been any OS modernization in the last 20 years.

    IBM i is in IBM's plans for at least the next 8 years. It's hardly going away. That means RPG isn't going away either. For businesses using IBM i as their primary business servers, investing in a slew of Windows languages is a huge waste of company scratch.

    ReplyDelete
  6. Steven, a genuine question.. other than the ability to run RPG applications and peoples' existing investments therein - what reasons do you see for people to choose IBM i over System p? What reasons would there be for a company that does not currently own an IBM i to buy one?

    ReplyDelete
  7. Hans. You must have heard the technology cliche, "What does not move forward, goes backwards". Everytime you hear "RPG is dead" is the time when RPG had not seen any significant change in a long time. So there is some merit to this fear. RPG got two life lines under you. First was the ILE, and the second was /free. Before that embedded SQL was a life line. Talking to other platforms directly is not as intuitive as linked servers of Microsoft SQL-Server. Making it seemless would be the next life line for RPG

    ReplyDelete