« Tips for Keeping Skills Current | Main | There’s No Doubt PHP is an Awesome Fit on IBM i »

August 03, 2011


Brian, you nailed it on the head! Great summary of RPG's benefits from a new-comers perspective. Let us know what else you discover as you continue your journey. Another one of the treasures, IMO, is the library list functionality of IBMi.

I don't agree when it comes to the "rich" set of bifs. It is the minimum with which you can work at all. I don't know any programming language which has less functionality than RPG (though in other languages you get more functionality through additional libraries/service programs, not bifs).


Excellent summary of RPG's features.

People like me who have being programing RPG for a while sometimes take this kind of things for granted. It is good to have someone new to the language remind us of how RPG and the i have helped us developed great business applications using half the complexity.

One last message to Brian: Just wait and see what you can do once you go to the web using nothing more than RPG and HTML.


@Mihael "though in other languages you get more functionality through additional libraries/service programs, not bifs"
Please, don't forget CGIDEV2 functions to get real web RPG programs:

Love My RPGLE!! Including FREE!

Yes, RPGLE is cool, but try to find a job programming. I have seen too many of my co-workers laid off, and unable to find work.

Here's another benefit we've always taken for granted in RPG (since the beginning):

Errors are errors. They're not invalid page faults, general protection faults or fatal exceptions. They're just errors. This is more of a testament to the operating system, but isn't it easier dealing with a "file not found" or a "decimal data error" than some 300,000 character hex code followed by an invitation to call Microsoft support ?

RPG really is a beautiful language... and its still evolving with new BIF's appearing in each release (c'mon IBM chaps - give us some /freeformat 'D' specs). RPG's come a long way since the good old days of Logic cycle and program described file layouts.

Thumbs up for an interesting article with a fun, positive spin.


Chk out a language called Dataflex (Visual Dataflex, for the GUI people). Faster, and better than any other. VB is still my favourite - recently wrote a conversion pgm to convert VB to RPG (RPGIII) and SO easy to convert; bet easier for RPGIV. Do Java, but believe it (like C), is for people who think in hexadecimal. In short - use the best tool for the job. RPG isn't the ONLY tool on the 400, but generally one of the easiest and best for business pgms.

>Yes, RPGLE is cool, but try to find a job programming. I have seen too many of my co-workers laid off, and unable to find work.

I'd be curious to know what knowledge base the RPG programmers had. If they only knew how to do green screen programming, and if the company was moving in the direction of web, then the company had justification of laying them off - their services were no longer needed - what was the company supposed to do? Information Technology is a VERY fast paced industry and it isn't for those that prefer to stop learning. I review resumes on a regular basis and I quickly pass over those that don't have hints at trying to stay modern and up to date. We as RPG programmers aren't entitled to a job/company/paycheck just because we have been there for 20 years!

>In short - use the best tool for the job.

I've grown to HATE this phrase because it gets used in terrible contexts. People jump ship to other technologies/languages/platforms very quickly simply because they couldn't get something in RPG to work the first time they tried it. Instead the phrase should be something like this:

"After realizing where your company has invested millions (i.e. RPG/DB2/IBMi), pursue to great extent to use those technologies over any other so the investment is not lost". So many IBMi shops have lost their investment the past 10 years because of lack-luster RPG staff that didn't stay on top of things and didn't know how to fight off the Microsoft KoolAid drinkers.

what???? RPG IS a good language......CRAP will not be flipping burgers anytime soon then........ ;> great observation and application of what Mr Buck has taught! kudos Mr Buck

@Jean: Come on. CGIDEV2 is just one little project. Now compare it to the functionality you get with Java and the dozens of web libraries out there for Java.

You will probably argue now: "Oh yeah, but that is Java ..." ... and so what? RPG has a longer history than Java and has much less to offer.


It's quite clear you've been brainwashed into believing that RPG is a really really good language.

I do not go into discussion.
No use.

But take my advice.

Learn Java, learn HTML, learn ....

Do NOT just keep on plugging on with DDS and RPG, although at this moment you can do what you're expected to do on your current job.

Ok... one thing.

In Java (for example) you DON'T HAVE to create a connection string, a command object etc to read one record...

You really don't.

A REAL programming language (e.g. Java) has the contructs to program you're connection object etc and all supporting code (maybe takes a couple hours) only once, and which can be used for all record accessed, using a simple method call (like one chain). With all you're specific functionality if you wish, instead of being forced to use the built-in (and therefore fixed functionality) "chain" opcode.

I really hope you're not trying to convince you're management that green screens have soooo much advantages etc. Because then (if not already) you won't be taken seriously by management, and won't get the chance to learn new techniques (on your boss's time).

The RPG programming landscape (the tools etc) is like a desert, compared with the jungle. The latter is also not ideal, but you have more chance to find food and survive (or get eaten if unlucky). If you stay in the RPG desert, you wont have a programming future long. Do NOT listen to all those long time RPG hack who have a long experience with ALL languages, being RPGII, RPGIII, and maybe even RPGIV.

Try investing in knowledge that is transferable, i.e. knowledge that is not tied to one specific programming language. Like how to structure and organize code into modules. Encapsulation, modularity, that kind of thing. Learn how to use serviceprograms.

John, I stand by what I wrote. RPG is a great language for getting a good look at your data, and if I did learn another language, it wouldn't be some C++ ripoff like Java. What's the saying? Write once, debug everywhere? Don't get me wrong, you pay me and I'll write any language you want. But I'll put RPG's access to a database up against Java any day.

Brian I'm glad you like RPG, but forgive me for saying it, but you have had it Sooo easy.
Just try coding in the earlier language versions.
RPGII is incomprehensible gobbledegook that positively encourages poor programming.
RPGIII/RPG400 is an improvement, but it still has truly rotten features that make it difficult to write good, readable code.
RPGIV arrived far too late, which is such a pity.
What were IBM playing at when they kept such antiquated rubbish as RPGII/RPGIII going for so long?

The comments to this entry are closed.