Five Brave RPG Programmers Move from PDM/SEU to WDSc
Whether modernizing preexisting applications or developing new applications in a more modern way, there is a set of ideas about code structure and modularization strategies that have gained popularity in the RPG community since the release of RPG IV. Many of these ideas are also widely accepted in objected-oriented languages. In fact, these ideas which seem so "modern" are older than is often recognized. Let's go back in time to see in an article of the past some of the ideas shaping the future of RPG application design today.
In 1972 computer science professor D. L. Parnas published an article called "On the Criteria To Be Used in Decomposing Systems into Modules" (Comm. of the ACM, Dec. 1972). This article was about modularization strategies. The benefits of modular programming being accepted, the issue here was HOW to best modularize an application.
Parnas contrasted two modularization strategies, a "conventional" one based on flowchart-type thinking, and a different one based on the new (at the time) idea of "information hiding" and the interest in maximizing the autonomy of each module. Parnas was proposing the second strategy as the wiser choice.
The article showed how modularization based on flowchart-type procedural thinking resulted in greater dependencies between modules, and therefore modifications were more likely to have implications elsewhere. Hence "the order in time in which processing is expected to take place should not be used in making the decomposition into modules." Instead, one should begin with a list of difficult design decisions or design decisions likely to change, and then design each module to encapsulate and hide such decisions from the others.
Here in this old article we see early development of the ideas of information hiding and encapsulation which have come to play such large roles in object-oriented programming. We also see, in the closing sentence, intimations of other things to come: "To achieve an efficient implementation we must abandon the assumption that a module is one or more subroutines, and instead allow subroutines and programs to be assembled collections of code from various modules."
Solution assembly, composite software, services-oriented architecture -- all of these modern ideas are prefigured in that closing sentence from 1972.
What does all this have to do with RPG? A lot! With ILE RPG IV, which has been with us now for twelve years, applications can be designed with this type of modularization strategy. Although the seminal ideas presented in the 1972 article gave impetus to the development of OO languages, their use is not limited to those languages. RPG applications can also be designed with this type of modularity. The switch from flowchart-based modularity to a more "composite software" type of modularity is one of the characteristics of modern RPG application development.
Posted by at May 29, 2006 5:55 PM

| Sun | Mon | Tue | Wed | Thu | Fri | Sat |
|---|---|---|---|---|---|---|
| 1 | 2 | |||||
| 3 | 4 | 5 | 6 | 7 | 8 | 9 |
| 10 | 11 | 12 | 13 | 14 | 15 | 16 |
| 17 | 18 | 19 | 20 | 21 | 22 | 23 |
| 24 | 25 | 26 | 27 | 28 | 29 | 30 |
| 31 |
Our blogs are editorial content of System iNetwork. We welcome your comments and opinions and encourage lively debate on the issues, and we reserve the right to edit all postings for clarity, length, civility of tone, and appropriateness to the topic under discussion. Comments consisting of product or job solicitations and other spam, profanity, and extreme rudeness will be deleted. We also reserve the right to publish excerpts from the blogs in our e-mail newsletters and print magazine.