As a long-time iSeries developer (that's AS/400 developer to you and me), I have seen RPG grow over many years. I first started writing RPG code on a System/34 using RPG II, so I have indeed seen some vast improvement. However, I feel somewhat let down by the latest iteration: free-form RPG. I want to be clear on one point before we start: I have made the switch to free-form. I have been using free-form for development almost exclusively for nearly two years. So I know of what I speak.
The first issue I have is that there is little to drive someone to make the switch. Can anyone give an example of something that can be done in free-form that cannot be done in RPG IV? I tried to think of something for an hour or so before I posed the question to some of my esteemed co-workers. They came up with zilch also.
Yes, you can make procedure calls without using a CALL. Yes, you can use the entire 80 columns to write an enormous equation that would take half a dozen lines in RPG IV. Yes, you can put a comment anywhere on the line now. So what? In the words of Jo Dee Messina, "Give me something I can use."
On the other hand, no, you cannot use the MOVE opcode anymore to change a string to a number. In fact, you can't use the MOVE opcode at all. I know: This is old news, and I should let it go, but the fact remains that the functionality was useful. No, you can't easily change a date data type to a decimal data type without reverting to "normal" RPG syntax.
The /free and /end-free are problematic, too. Has anyone ever forgotten the /end-free and tried to compile? Nothing will make your blood pressure spike like 500 or so compile errors, unless maybe it's trying to read some free-form code written by Einstein, the office genius who thinks he's found a way to turn free-form RPG into C++. News flash folks: No matter how you slice and dice it, RPG is not an object-oriented language.
To be honest, I actually prefer free-form to RPG IV, but I attribute this to the fact that I'm an old ANSI C developer. I simply prefer to see my code neatly indented and each of my lines ending with a semicolon (;). It's certainly not because there is any compelling developmental reason to use it. All IMHO...of course.
Jeff Olen is an independent consultant and has been developing on the iSeries and its predecessors for 17 years. Mostly, he can be found in airports and rental cars. When he's not living out of a suitcase, he can be found at his home in Orange, California, with his wife and daughter. You can reach him at
LATEST COMMENTS
MC Press Online