return to main page

RPG (Report Program Generator) - 1401

A description and history of RPG (Report Program Generator) is at Wikipedia

Two IBM RPG manuals are on BitSavers, basic or card (4 MByte) and disk (10 MByte)
and others

There has been a burst of e-mail by folks remembering this simple language that could do good reports on "our" simple 1401 ;-))
Van Snyder Feb, 2012 points out
[We] have no source or executable code for either RPG or FARGO

Some e-mails :-))
- from Bill Worthington to ... 03/14/2009
- Jack Palmer to Alan Kay 03/14/2009
- Gary Mokotoff to Bill Worthington and Alan Kay 03/15/2009
- Gary Mokotoff to Robert Garner 04/1/2009
- Keith Falkner to ... FARGO, February 20, 2012

from Bill Worthington to ... 03/14/2009
In January, 1961, I was attending IBM's 1401 programming class which was a 4 week affair then. On the day before the class was to finish, one of the instructors came bounding into the classroom to say that IBM had just announced a new programming language. We spent the day trying to learn RPG. After spending three weeks getting the concept of programming under our belts, it was a real challenge to learn about Input Specs, Calculating Specs, Output Specs, etc. The challenge was to figure out how a level indicator set on the Input Spec would have an effect on the Output Spec. Our heads were spinning at the end of the day.

I went back to the bank the following week and tried to make some sense of RPG with another programmer who attended the class. We gave up. Several years later, after joining IBM, all the branch people -- marketing reps and systems engineers went through a force feed of RPG again -- this time in preparation for the announcement of the System/360, Model 20. I was surprised how much had stuck in the back of my brain.

As I recall, the initial RPG compiler was tape resident, but had a disk compiler after 1311 disks were available. There was also another program called FARGO for "1401 Automatic Report Generation Operation" which was similar to RPG, but was designed for a smaller sized 1401 and was a two pass card compiler. FARGO appeared towards the end of 1961 as a Type III program -- indicating that it was written by an IBMer and had limited support if anything broke.

from Jack Palmer to Alan Kay 03/14/2009 08:05 AM
Hi Alan.

RPG was intended to attract, and to be used by, the original prospects for the 1401 -- the users of IBM Electric Accounting Machine (EAM) equipment, the flagship product at the time being the 407 Accounting Machine, introduced years earlier. IBM was motivated to convert those (many, many!) users to electronic computing before others provided the wherewithal. Many of these prospects were put off by the need to do "programming." As such, the developers of RPG specifically and purposefully did not copy the specs of other (so-called) report generators of the time, which were, when you looked, designed to appeal to programmers. Again as such, the lead planner and programmer assigned to develop RPG, Barbara L. Wood, was chosen for her experience as a system service employee in the "field," where she had installed a range of EAM products at a number of customer installations. She thought about applications as a plugboard wirer, not as a programmer. It shows in the "several special forms." The wonder is that RPG survived, in improved form, as a staple of the software tool bag, at least through the System/360 era (after that I myself have lost track).

Yes, most of our fellow programmers of the big stuff at Time & Life sniffed at RPG. But salesmen found it useful in winning over prospects who wrung their hands at the notion of hiring "programmers." A "competitor" to RPG was Fargo, an interpretive report generator, which was designed and implemented by (well, what d'ya know?!) a couple of IBM system engineers (they weren't called that then), EAM veterans, in the field.

The genius of the 1401 is that it came to have a whole other, disjunctive, big class of prospects -- those users of IBM 700/7000 series computers who saw it has an efficient I/O conduit for their big machines -- card-to-tape, tape-to-card/printer. And, as an economical test bed for their Fortran programs.

Jack Palmer

from Gary Mokotoff to Bill Worthington and Alan Kay 03/15/2009
It is my understanding the RPG was always planned to be on the 1401. It was an attempt to get customers to move away from EAM equipment like the 407 to computers. The whole logic of RPG paralleled how you wired a 407 panel. The concept of turning indicators on (RPG) was comparable to co-selector pickups on the 407. The 407 panel had areas for input, calculations and output; hence the RPG forms for those functions.

For creating RPG, Bernie Silkowitz and Barbara Wood received some major award from IBM. I forget what it was called. It not only provided recognition but had a considerable monetary award.

I had a software company from 1968-1993 that used RPG exclusively, originally on the 360/20 and ending on and 370/115. I loved the language. I could make it do tricks. :>)

Gary Mokotoff

from Gary Mokotoff to Robert Garner 04/1/2009
The 1401 group originally was located at 425 Park Avenue. It then moved to the Time-Life Building whose address is 1271 Avenue of the Americas (6th Avenue).


from Keith Falkner to ... FARGO, February 20, 2012
Just for the heck of it, I wonder if your 1401 installation is equipped with FARGO software. The acronym stands for Fourteen-oh-one Automatic Report Generation Operation, and the program is a five-part deck of cards, maybe 700 in all, that effectively functioned as a 407 Emulator. 407 is the "modern" upgrade from the 402 and 403 Electric Accounting Machines. The FARGO programmer would code up cards defining headings, control breaks, calculations to be done, and reports to be printed, and summary cards to be punched. Then the 1401 would simulate the accounting machine and its attached 514 Summary Punch to provide the required reports and punched output. No compilation, just shove in the intermixed FARGO+specifications deck and the data, and stand back.

I think that an experienced 402 programmer and FARGO programmer could study the wiring panel and produce the corresponding FARGO decks with no trouble at all.

I recall that a user contributed a program called CARGO, standing for Condensing After Report Generation Operation, which served as a patch to the final piece of the FARGO deck, and caused a condensed object deck to be punched out. This condensed deck, much less bulky than the combination of FARGO software + specifications, was a convenience for shops that used FARGO a lot.

Finally, I recall someone musing about the System/360 Model 407. This mythical machine could be achieved if a System/360 emulated a 1401 running a FARGO job! Of course, all this is possible today.

Keith Falkner
EAM trainee in 1963
1401 programmer 1963-????