I havent taken any surveys, but I doubt many RPG III programmers would prefer to write RPG II. I know I wouldnt. External file definitions and the ability to treat indicators as variables are enough to keep me from ever longing for the good ol S/34 and S/36 days.
I first got my hands on RPG IV in January 1995, and within hours, RPG III had joined RPG II as an undesirable in my personal caste system of programming languages. RPG IVs free-format arithmetic and logic, longer identifier names, and option to use lowercase letters had me hooked. Since then, IBM has improved RPG IV, adding niceties like subprocedures and prototyped calls, and further expanding the allowable length of identifiers.
Ive heard many other programmers express the same feelings, yet I continue to hear of AS/400 shops that still use RPG III for program development, which is hard to understand. Maintenance, yes. I still modify RPG II and RPG III programs. But how can so many RPG programmers not use the latest version of the language for development?
Im not here to chew out anybody for not using what, in my opinion, is the best RPG. After all, some people would argue that one of the visual RPGs is the best. Come to think of it, I know folks who think the best RPG version to use is none at all.
What Im saying is that RPG shops would do well to use RPG IV instead of RPG III for developing new programs and applications. And only IS managers can make that
Some AS/400 programmers do not want to make the jump to RPG IV. One reason is that programmers, like other members of the human race, tend to stick with the familiar, rather than embrace the new. Ive heard that many programmers in the old USSR continued to use English-language COBOL after Russian-language COBOL was developed. If thats true, its an interesting commentary on human nature.
Others say they arent opposed to learning RPG IV, but they dont feel they have enough time to learn it and still get their work done.
In either case, its the manager who must resolve the problem. Only the manager can provide the necessary impetus to overcome reluctance and the time and training. Some managers dont feel they have time and budget for training, but in my experience, failure to train costs more in the long run. As the saying goes, Pay me now or pay me later.
In some shops, the situation is reversed. Programmers want to use RPG IV, but IS management forbids it. A common justification is that the software package the shop runs is strictly Original Program Model (OPM) software, written in RPG III. The reasoning is that the add-ons written in shop must be compatible with the programs in the package.
If thats whats keeping somebody from using RPG IV, Ive got good news. This is no obstacle. Compiling an RPG IV program into the default activation group generates an ILE program that behaves like an OPM program. So, programmers can begin to master RPG IV without having to master ILE at the same time.
Whatever the case, the manager can resolve the problem. If some programmers want to make the jump and others dont, the manager may have to make an executive decision and tell everybody the new standard is RPG IV. If all the programmers want to use RPG IV, the manager needs to get out of the way.
Think of It This Way
If you are the manager of a shop that still develops in RPG III, I want you to consider that the version of RPG your programmers use does make a difference. I wish I had some sort of concrete proof that says programmers are more productive in RPG IV than in RPG III. But I dont have such numbers, and I doubt such a thing could be easily proven. I can say with confidence that an RPG programmer wouldnt be any less productive with RPG IV.
Consider too that IBM has abandoned RPG III. Future enhancements to RPG will be to the RPG IV compiler and VisualAge for RPG.
While youre at it, keep in mind that RPG III is not an ILE language. ILE is a more complicated way of building applications than OPM, but without it, the AS/400 cannot participate in the increasingly networked world.
A good manager pushes power and decision making down to the lowest level of authority possible. Make a decision at too high a level and people feel micromanaged. Permit a decision to be made at too low a level, and people feel theres no leadership. So its good for IS managers to leave as many decisions as possible to programmers and operators. However, the decision about which version of RPG to use is one IS managers should not leave to the staff.