In 1981, I started programming on the S/38. Of course, the AS/400 is an updated S/38, so Ive been working with this architecture for 18 years. About 1984, we programmers started suggesting that IBM add a GUI to the S/38. Today, IBM still doesnt support a native GUI on the AS/400. Some things never change.
My concept is simple. Enhance RPG and other AS/400 languages so that they can access the user interface controls and classes of a native GUI. Integrate the communication between the GUI running on a client and AS/400 high-level languages (HLLs), such as RPG. Effectively, replace display file DDS with a GUI script.
DDS has survived because it has keyword support. When new features are released, new keywords can be added to DDS. This was a wonderful design decision in the 1970s. Now, however, users rarely look for character-mode user interfaces in an application. If I were a commercial software developer, would I design a new application using a character-mode user interface?
Consider what michaels, ross & cole, ltd. has done in the latest release of the mrc- Productivity Series. The code uses Sockets to integrate RPG running on an AS/400 with a Java user interface running on a client. Its wonderful!
IBM needs to provide this kind of support for Java within RPG and other AS/400 languages. All I want to do is issue a WRITE operation code in RPG to output a dialog box or panel in the GUI.
A lot of people at IBM Rochester think RPG is holding back the AS/400, but the AS/400 is the most reliable platform available, and RPG applications contribute to that reliability. Most AS/400 applications are written in RPG, not C or C++. There are no pointers to worry about and no dynamic memory allocation or memory leaks causing me to power down my AS/400 twice a day. RPG is one reason the AS/400 is so reliable and successful.
So why doesnt Rochester support a native GUI on the AS/400? And why doesnt IBM integrate a native GUI with RPG IV?
Performance is the first reason IBM gives for the implausibility of a GUI on the AS/400. While I know that not all models of the AS/400 PowerPC system have enough horsepower to support a native GUI for every user, I also know that the AS/400s with a red front panel do. Next years copper-on-silicon AS/400 systems will certainly have no trouble handling a GUI, so the performance argument is invalid.
The second reason is that larger AS/400 customers demand that IBM respect their investment in dumb 5250 terminals. This argument was valid in 1990 but not today. I know of a few large customers that still use dumb terminals, and most are replacing them with PCs.
The third reason is that RPG programmers arent skillful enough to learn sophisticated programming techniques, such as the event-driven program model. RPG programmers arent skillful? I have to laugh. RPG programmers tolerate some of the oldest development tools of any platform (SEU/PDM), yet they still find creative ways to build GUI-like applications, maintain cryptic RPG II cycle code, and use contemporary RPG IV procedures. It is not that RPG programmers cant learn these so-called sophisticated languages. It is that they avoid languages that require more skill in application crash and recovery methods than in the language syntax itself. AS/400 programming is about commercial application developmentnot about tracing memory leaks or rebooting systems. If we enjoyed that, wed be writing for Microsoft Windows.
The problem is not performance, customers, or programmers. The problem is lack of leadership. IBM isnt providing the solutions for AS/400 programmers. IBM employs some very smart programmers who could provide those solutions, but they are seldom permitted to. IBM middle management seems to be more interested in reacting to the marketplace with me too-isms than in rewarding innovation. By failing the RPG programmer, IBM fails the AS/400 customer. If IBM fails the AS/400 customer, there will be only Windows NT programmersand they already have plenty of less expensive, non- AS/400 platforms on which to work.
LATEST COMMENTS
MC Press Online