Using RPG III today makes me feel like I'm back in the Stone Age of programming. In fact, I think virtually all of today's prejudice against RPG comes from the knowledge people have about RPG II and RPG III, not about RPG IV.
I meet many IT managers who grew up on RPG II and RPG III and, to a large extent, haven't embraced RPG IV in their shops. Ironically, they (former RPG programmers themselves) are choosing to keep their shops in the Stone Age.
Why is it that IT managers use Blackberrys for email but won't set up the iSeries for email? Why is it that IT managers expect programmers to figure out the best ways to do things but won't let them use anything but RPG III? In a word, fear. Often, people don't like change, but they seem to manage just fine once it's forced upon them.
The irony is that people think the PC and Mac are more modern than iSeries or System i. How crazy is that thinking?
I remember the day Apple announced the Mac; it was shortly after the ill-fated Apple Liza. It was about the same time IBM announced the System 38 Model 5. Since then, we've had the AS/400 (a huge move forward in technology ), the iSeries (yes, another big jump), and then the renaming of the box a few times. So, by rights, the Mac is 20+ years old, whereas System i just about 10 years old. The PC...well, it has similar age lines.
Certainly, the hardware is only half the argument for modern. The Mac has recently upgraded itself to a UNIX-based operating system. And we all know about the PC/Windows world.
This leaves OS/400 or its contemporary, i5/OS. By the way, is it still named "i5/OS" or is it "System i/OS"? But I digress....
OS/400 has arguably the same capabilities of any OS, including Linux/UNIX/Windows. So what's the problem? Why do iSeries (a.k.a. i5 and System i) and OS/400 (i5/OS) have the stigma of being old?
Because of iSeries IT managers, that's why. (Did I say that out loud?)
Yes, it is the IT managers who are defeating themselves when it comes to the perception of iSeries compared to Linux/OS x/Windows.
iSeries IT managers (well, not all of them, but enough of them to contribute to this problem) are subverting the iSeries image in the market because they often refuse to allow their staffs to update the company's software. I don't mean maintaining the applications; I mean they refuse to let them migrate the applications to RPG IV and to put some sort of GUI on the box.
For some reason, these IT managers feel the need to keep their shops in RPG III and even an occasional RPG II with all green-screens. Yet they believe it is some kind of external force that gives their end-users, the marketplace, and the IT world the impression that the iSeries is "old."
To resolve this problem, iSeries IT managers have to do several things.
First, they need to move off of RPG III and onto more-capable programming languages. The languages I would move to include RPG IV, C or C++, and Java. I don't mean just one of these languages; I mean any or all of them. Certainly, RPG IV is best for general-purpose business applications. C and C++ are best for interfacing with APIs, writing complex routines, and creating low-level interfaces. Java is best for tools/utilities that need to be highly portable and for situations in which performance isn't an issue. Each of these programming languages can be used for all of the tasks the others are best at, so pick one or two.
This is only one third of the problem. Another issue is the user interface. The green-screen is dead! Get over it! I don't care if you think its good for this or that; it isn't.
New applications should never be created with green-screens. Maybe you wrote a great, 21-format green-screen application back in 1985, but this is 2006. I didn't own a pink oven back then, and you should not be creating green-screen applications today.
There are two ways to solve the green-screen problem. Your staff needs to learn JSPs and HTML. You can have them learn only HTML, but if they learn JSP, they will also need to learn HTML. These two technologies (today) are the only two options for creating cool, modern user interfaces on iSeries.
The third issue is CL. Fortunately, CL isn't as taboo as RPG III or green-screens are, but there is one point of view about CL that is obsolete. Some people still do everything they possibly can in CL, doing only the minimum in RPG. These people need to be reprogrammed.
The current thinking is to do as much as possible in RPG IV and to resort to CL only when no other option is available. Use embedded APIs, use C, use Java, but use CL with caution.
CL is not bad; what's bad—and what needs to change—is the attitude that some people have that everything should be done in CL.
The last piece of this equation is you, the IT manager. You need to encourage your staff to be smarter than you. Throughout my career, I've hired only people who had one of two traits:
- They were smarter than I am.
- They had the potential to be smarter than I am.
Why would I want to hire people less intelligent than I am? How does that help the business? Don't get me wrong: Certainly, there's a place for junior programmers. I'm not advocating hiring only seasoned people. I'm suggesting you hire only smart people and fire the others.
You IT managers have been saying, "We need to update APL0601, which I wrote 20 years ago, so here's how you need to fix it." But you should be saying, "APL0601 is 20 years old. I wrote it, and it still works, but it looks like crap. Let's repurpose the application in RPG IV and HTML so the users actually enjoy using it."
You know, a sextant is still accurate and fun. But I'd rather use a color, touch-sensitive, hand-held GPS to find my way. Had I built my own sextant back in the 1970s, I may still want to use it from time to time while camping in the mountains or sailing (I don't sail, by the way). If I were in a war, however, I'd certainly want that modern GPS in my pocket.
Business is war, not a hobby or a nostalgic retrospect. You are selling your software to your users—whether those users are in-house or worldwide. Believing you're the smartest person in the IT department and doing things to make sure your belief system remains intact is the number one thing that's hurting the very marketplace that helps pay your mortgage.
Think about this: U.S. car manufacturers continue to build cars that get less than 20 mpg. There's a spike in gasoline prices, and everyone wants 35+ mpg cars. If General Motors and Ford don't make hybrid, electric, high-mileage, or alternative-fuel cars, things are going to get very bad for them. Why is it that Toyota dealers can't keep a Prius in inventory, but I can walk onto any Chevy or Ford dealership and pick up 50 SUVs at a discount? Technology has changed, and they are not embracing it.
The point is, in spite of IT managers' attempts to keep things the same so that they feel comfortable with their own applications, the world is changing. You can't isolate yourself if you want to continue to succeed in your business.
Smart iSeries IT managers are embracing RPG IV, HTML, C, C++, and Java as well as a host of other technologies. They are also challenging their staffs to produce better code than they wrote themselves. They encourage critiquing of existing applications and user interfaces and strive to make their applications better for the user.
Do you really want this conversation to take place behind closed doors at your company?
VP/General Manager: "Joe's been running IT for over eight years, and we still use the applications he wrote when he was a programmer back in the 1980s. Maybe we need to replace Joe with someone who can do that cool windows stuff I see on my kid's PC."
HR Manager: "OK, I'll post something on Dice.com this afternoon. When do you want to tell him?"
Bob Cozzi is a programmer/consultant, writer/author, and software developer of the RPG xTools, a popular add-on subprocedure library for RPG IV. His book The Modern RPG Language has been the most widely used RPG programming book for nearly two decades. He, along with others, speaks at and runs the highly-popular RPG World conference for RPG programmers.
LATEST COMMENTS
MC Press Online