The times they are a changin, and apparently theyre changing too rapidly for some. Theres a lot of uncertainty among the readers of this magazine. I read it in email and hear it at user group meetings. The uncertainty boils down to one question: Does RPG have a future?
Midrange programmers want to know because RPG is the only applications programming language many of them know. IT managers in iSeries-centric shops want to know because their companies have a lot of money invested in applications written in RPG.
The answer is that RPG does indeed have a future. First, I want to explain why there is so much uncertainty. Then Ill tell you why RPG is not dead.
Things Aint What They Used to Be
Why are people so shaky? There are several reasons. First, user interfaces have come a long way since the AS/400 was introduced in 1988. Windows has become widely used, and the Internet has been opened up to the general public. Everybodys used to GUIs now, and the native RPG compilers dont support a GUI in the same way that they seamlessly bind to display files.
Second, PCs have become a lot more powerful since 1988. Many businesses that used to require small business computers like the iSeries and its predecessors can now run on PC LANs, and the programming language of choice in the PC world isnt RPG.
Third, its not uncommon to see an article in the trade press that says RPG is headed toward extinction.
Why RPG Is Going to Be Around for Awhile?
If the third reason is bothering you, relax. Reporters and columnists canand dowrite anything they like, even when they have no evidence to back it up.
RPG is going to be around for a while for several reasons. The first reason is the enormous amount of RPG code that installations depend on. Who can afford to stop all development to spend years rewriting his applications in Java? Who can be assured that, once the rewrite is complete, some other new and exciting language will not have replaced Java?
The second reason is that IBM is still enhancing RPG. The last version of RPG that some computer vendors supported was RPG II, primarily because they chose to put all of their eggs into UNIX, and later, into Windows NT. IBM continues to spend money on
RPG IV and VisualAge RPG so that RPG programmers can use their existing skills to develop new types of applications. I expect that the free-format calculations I wrote about in the September 1999 issue (see IBM Cares More than You May Think) will soon become a reality.
The third reason is that RPG is good at file processing. More modern languages, like C and Java, accommodate files and databases but dont excel at file-handling. C was designed for writing systems software, like operating systems and compilers, not for printing payroll checks. RPG, like COBOL (whose death was falsely predicted years ago), was designed for business computing.
Keep in mind that it is interactive programming that is changing. Batch processingovernight file updates, report generationis fine as it is. Interactive processing is often handled by a two- or three-tier client/server architecture, in which the user interface, the business logic, and sometimes the file I/O, are in different programs. Theres no reason why the business logic and the file I/O cant continue to be written in iSeries RPG, while the user interface is handled by either the Web, Java, Visual Basic, or even a visual RPG.
What RPG Programmers Should Do
RPG isnt going to become extinct anytime soon, but the one-language shop may. This will make it harder for programmers who know only RPG to get jobs. Here are a few suggestions for RPG programmers:
Learn RPG IV and ILE. The syntax of RPG IV, especially when the free-format calcs are added, is more like other widely used languages that you will likely have to learn. Learning to use service programs and subprocedures will help you understand how applications are built on other platforms.
Learn one of the visual RPGseither ASNA Visual RPG or VisualAge RPG. Visual programming consists of dragging and dropping icons to build a display, then filling in the code to drive it. Once you get the hang of one visual product, youll have a head start at learning others. I have heard that Visual Basic is now the most widely used programming language in the world. Wouldnt it be nice to add that to your résumé?
Learn a C-like language. Many of the new languagesJava and C# (pronounced C sharp)are like C in their features (as I euphemistically refer to the logical results of poor language design).
Learn object-oriented programming (OOP). It will be a while before it becomes widely used in business programming, but OO is on its way. In the meantime, you can use OO languages in the development of interactive client programs.
A True Story
Let me end with a true story. The instructors of a systems analysis and design course at the university where I did my graduate work had always required students to write their program assignments in COBOL. A new professor, fresh with her Ph.D. from a prestigious university, was assigned the course, and the first thing she did was to throw out the language requirement. Students were allowed to do their programming in any language for which the departmental machine had a compiler. The students were overjoyed because they were all more familiar with Pascal. But, would it surprise you to know that, within a few weeks, all of them abandoned Pascal and began writing their programs in COBOL? They had learned that newer is not always better, and that what looks good on paper isnt always best in practice.
LATEST COMMENTS
MC Press Online