From Here to Modernity

Five Brave RPG Programmers Move from PDM/SEU to WDSc

July 6, 2006

Traversing a Paradigm Shift

It recently occurred to me that Thomas Kuhn's theory of intellectual history, where long periods of paradigm consistency are punctuated by shorter periods of 'paradigm shift', can be applied to the history of business computing. When I look at my own IT community -- the tradition of IBM computers progressing from the 360/20 and the Sys/3 to the iSeries and the system i -- I feel that we are still in the midst of traversing a paradigm shift, and the new period of stability has not yet settled firmly into place.

As I look back on my own career in IT (which began on a Sys/3 Mod 10), I see three eras of application design. The first era was the pre-workstation batch processing era of the 360 and the Sys/3. This was before green screens. Data usually entered the system through punched card readers, and data processing departments generally had more keypunchers than programmers. RPG II was the dominant language on the Sys/3, but there were no workstation files and little or no structured programming constructs. Nevertheless, we wrote effective applications which brought the power of computing to small and medium-size businesses.

Sometime in the 1970s there was a paradigm shift as a new era dawned with the introduction of the workstation. The Era of the Green Screen displaced the Era of the Punched Card. This new era ushered in the paradigm of the menu-driven application and interactive programs. This was new, this was cool, and I loved it! During the period of paradigm shift the old coexisted with the new: much data still entered the system through cards or diskettes because keypunching was faster than interactive entry of batch data.

Another characteristic of this second era was the triumph of structured modular programming over spaghetti code or the madcap innovations of creative programmer-artists ("Programming is an art," opponents of structured programming were heard to say). The addition of structured programming constructs to RPG II 1/2 and RPG III helped bring structured programming to the System/34-36 and the AS/400, but the limitations of the subroutine constrained the adoption of profound modular programming.

This second era stabilized and lasted for many years -- all through the 1980s and most of the 1990s. Indeed, it is still with us today, as the paradigm shift to the new era is not yet complete. We are in a twilight zone where two eras overlap, still traversing the paradigm shift.

The new era -- already here but not yet settled -- began in the mid-1990s with two radical new developments. First, IBM released RPG IV and brought us procedures and the ILE environment. This meant profoundly modular applications could now be composed in RPG. Second, the internet and the browser came on the scene. The browser is displacing the green screen as the dominant UI. The green screen is terminal and obsolesence is inevitable.

The Era of the Green Screen is passing away and the Era of the Browser is ascendant. Likewise, subroutine-constrained modularity is being displaced by procedure-based modularity. A new paradigm of application design is supplanting an old paradigm. This is simply what is happening, and resistance is futile.

A period of paradigm shift is a period of crisis. Uncertainty abounds, and "paradigm wars" occur between those attached to the former paradigm and those advocating a new paradigm. This is natural and it is constructive: the victorious paradigm will have been influenced and improved by the struggle and the critique.

For RPG, a specific crisis lies is the lack of a native GUI capability. Nevertheless, there are ways to solve this problem, such as CGI or a thin Java layer wrapped around an RPG core. And in a services-oriented architecture, our valuable RPG business logic can be preserved in modules which service the needs of an outer presentation layer.

Things will stabilize, and the new era may last as long as the preceding era did: more than two decades.

Posted by at July 6, 2006 10:14 PM

Comments

Max,

Don't forget the PC era, democratizing the power of computing by putting it in the hands of individuals. The first phase of the PC era was defined by personal productivity and standalone database applications. Networking ushered in the second phase which lead to client-server computing which was defined by shared database and file systems controlled by THICK client applications. This phase is further defined by users clamoring for higher MHz processors, larger disk drives, and interfaces with any kind of device that can be attached to an individual workstation. PCs at this point have become HEAVY, with ever increasing workloads, virus protection, backup protection, and most application development being performed on individual workstations.

The world wide web is ushering in a shift back to THIN client computing. A project at MIT to develop a low-cost laptop for students has captured my attention. The idea is that robust applications with RICH user interfaces can now be deployed on servers, along with books and curriculum controlled by schools, and accessed by students via rugged little wireless laptops that can be toted around in backpacks.

The design of the prototype is simple and elegant. The requirements of the PC are minimized by the availability of robust and RICH applications and content via the network. The plan is to make it available to students in third world countries, further democratizing the power computing via network resources that can be accessed from just about anywhere.

I attached a link to a cNET news article for anyone who might be interested in looking that the design of the laptop.
http://news.com.com/The+100+laptop+moves+closer+to+reality/2100-1044_3-5884683.html

Instead of the HEAVY PC paradigm, the idea is to have a small footprint version of Linux, the Firefox browser, and maybe a version of Open Office on flashcard memory, then access just about everything else via the network. The iSeries fits perfectly in a model like this by offering reliable, robust, high-performance server based applications.

Okay, for students who may be interested in computer science, add a Linux based 5250 emulator to the laptop, and teach RPG in schools ;-)

Nathan Andelin

Posted by: Nathan M. Andelin at July 7, 2006 10:45 AM

Your comment "For RPG, a specific crisis lies is the lack of a native GUI capability. Nevertheless...."

is THE! killing factor for RPG, the iSeries aka AS400 and the whole marketing format concept behind the as/400 product. The concept in the eyes of the public has deteriorated from a "stable, solid platform" to an "obsolete, not in touch with todays multimedia/gui standards and very much overpriced system".

Sorry to say, we all know what the true value of the as/400 is, but in the eyes of the decision makers......

SAP on the other hand played it's cards in the last decade beautifully. They turned ABAP from an ancient cobol-like language (without the tons of accolades and i=i++ Java noise in it) into a full blown, easy to read OO language with built-in native gui and, since SAP's origin is founded in the rock-solid mainframe, capable of serving thousands of clients at once 24/7 without a glitch.

IBM/Rochester management should be punished for their shortsightedness in the past 10 years. They're firing each other now at the top. Keep up the good job, guys. And keep that quarterly decline in sales down to no less (more?) than minus 20%, you hear!

Posted by: ugeerts at July 9, 2006 7:10 AM

{The concept in the eyes of the public has deteriorated from a "stable, solid platform" to an "obsolete, not in touch with todays multimedia/gui standards and very much overpriced system".}

The iSeries is a DB server, not a GUI server. It's just one part of a reasonable overall computing strategy for small to large business systems.

RPG cannot, will not, must never be a "GUI" language. It is a language for transaction data processing and nothing more. IBM's mistake has been to allow RPG to be "improved" for the last decade.

IBM's competitors in the DB/Transaction space, e.g. Oracle, do DB well on many server types and let the application designers choose whatever language suits them for development.

The same is possible for the iSeries. Choose a different interface platform, IDE and language and you are set to do all the GUI development you like without significant risk of "paradigm shift".

RPG will die about the same time the last RPG programmers do, it appears. IBM has had the opportunity to use tough love to freeze RPG and move organizations to "paradigms" where there are actual community supported standards that will evolve over the generations and they chose not to because some important managers couldn't stand the pain. Oh, well. Being short-sighted is nothing new in the IT industry.

Posted by: Joss at July 13, 2006 12:09 PM

Anything new, if better than something old, should be embraced. However, just because something's old, doesn't mean it's bad. The big question is what makes a better program. Now, whether paradigm shifts are good or not is probably irrelevant but it's up to us to do the best we can with the tools we have.

Larry Manter

Posted by: Larry Manter at July 13, 2006 4:15 PM

I joined the IT world at the time the IBM S/34 was being replaced by the S/36. I was really impressed by the combination of RPG II and the IBM S/36. There is no doubt in my mind that this piece of equipment was way ahead of anything else in it's generation. These were the good old days of IBM, where Big BLUE was really the incontestable market leader and the driving force in R & D.
Since then it has all been downhill. The AS/400 is a great piece of hardware but the OS is still from the dark ages. Nobody cares to (or can) remember those hundreds of commands that have to be entered on the command line; and the navigation tools are worse. I always get lost when I am trying to find a command to do a particular job.
It's time for IBM to create a new GUI which is user friendly and intuitive. If they do not have the time for the research, why not copy what the competition is doing .... !

Posted by: Dev Hoorpah at July 14, 2006 10:04 AM

I've heard a million times that RPG needs a gui or needs this, that or the other and that IBM is sabotaging RPG. I've never heard anyone suggest that RPG needs to be platform independent and freely available. Please tell me why that paradigm shift hasn't occurred.

Posted by: Greg at July 15, 2006 10:25 AM

(in response to Joss)

RPG should not become a GUI language. That implicates is would need instructions to closely interact with the gui screen panel (in ibm speak), meaning it would need instructions to open or close windows textboxes, drop downlists, catch a mouse movement to trigger an event.... in short everything the Visual languages of this world do. Next, it would mean ibm ports the language to a PC environment or else burden the server with these tasks.

But what does the SAP ABAP language do? Does it run on a PC? No.
Is it a strong, efficient, language for DB server computing? Yes.
But then how accomplishes ABAP this prestigious and slick SAP graphical workplace on the PC?
Nothing new really. SAP has written a thin client (called sap gui), a mere 20 Mb size executable most probably written in c++. They only used the very basic core Windows API (from kernel.dll, user.dll etc) which effectively shields them from changes in Windows O/s versions. Next they've created their own graphical look and feel - eg. they replaced everything that reminds you of the typical gray windows buttons and the blue upper screen line. Great marketing trick, since decision makers may think it's not windows anymore but all SAP.
Next they've loaded the Sap gui client with anything necessary to accomplish typical SAP screen interactions like animations, sounds, mouse events whatever. A typical dialog is for the user to change the column sizes in a tabular form, change the column order or drop/add columns to customize it. Then the gui reports the changes made back to the server.

What does ABAP do? The developer goes to the "screen painter", draws up a screen panel, assigns user interactions to each screen element, gives the panel a number (eg. 100) for identification and that's about it.
What does ABAP do? When the statement "CALL 100" is encountered, screen panel 100 is written and is waiting for user input, just like an RPG EXFMT would.
All very old fashioned. It's a pitty IBM/Rochester didn't have this vision, but ibm is in no way a leader in the IT space anymore.
Say bye bye to RPG soon, guys.
Say bye bye to the AS/400, Iseries, system i soon guys. It will probably survive as a box running Linux and PHP, albeit a hell of a lot cheaper if they want to keep selling the thing.

Posted by: ugeerts at July 19, 2006 5:16 AM

How could someone get it so wrong? Dell spent over a billion on their SAP implementation and then cancelled the project. See http://www.itmweb.com/f031099.htm. SAP is "consultantware".

Posted by: Greg at July 21, 2006 7:57 AM

In Ohio there are several companies using SAP. One large company I know has it completely off-shored. Many other large iSeries companies here are actively migrating to SAP and of those several already have agreements with offshoring firms.

From what I have heard many users are not happy with SAP and believe there is a lack of functionality over what they had. But I would expect that since the software they migrated from had probably been enhanced over decades to fit the organization.

SAP implementation will probably evolve much the same. Question is will the work be done in this country or overseas. I think the handwriting for that is on the wall.

Posted by: SteveK at July 21, 2006 9:13 AM

Interesting comments about SAP and about the popularity of outsourcing SAP work.

At the url mentioned by Greg, Dell CIO Jerry Gregoire has this to say: "I feel that the large packages [SAP] can lead to complacency. No changes can be made to these systems in order to create a technology advantage for the company. No IT director really wants to implement one - what they really want to implement is best of breed systems. When we convert our company to a software vendor's vision, we give up our ability to innovate."

The Agile Software movement seems to fit better with Dell's vision. The Agile Manifesto contains principles such as these:

"Welcome changing requirements, even late in development. Agile processes harness change for the customer's competitive advantage."

"Business people and developers must work together daily throughout the project."

Hard to be agile if you're outsourcing.

Posted by: Max at July 21, 2006 9:34 AM

Post a comment




Remember Me?


Bill Blalock
October 2008
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  

Blog Policy

We welcome your comments and opinions and encourage lively debate on the issues. However, Penton Media reserves the right to delete or move any content that it may determine, in its sole discretion, violates or may violate its Terms of Use or is otherwise unacceptable. For more information, see Penton Media's Terms of Use.

ProVIP Sponsors