Fog Creek Software
Discussion Board


Does anyone here code RPG?  IBM's Report Program Generator language. 

Wow, talk about a cryptic language in it's early stages.  Having to use indicators to flag certain lines of code as executable.  (Kinda like an "if" statement.  If these indicators are on then execute this line.)

I like RPG IV and the ILE though.  They are very easy to use.  RPG IV actually supports pointers, unfortunately I think most RPG programmers don't understand pointers.

When I was in school, I asked my RPG teacher if I could allocate raw memory in RPG IV like you can in other languages.  He was a little shocked at my question and said that he "thought" you could.  (I don't believe you can, but I never researched the topic.)

The AS/400 and OS/400 are neat systems.  I like them and could get used to programming them. 

I still wonder what language OS/400 was written in and what language RPG was written in.  When asked, my teachers at school told me that the processor in the AS/400 computer has assembly language commands similiar to RPG instructions and that it was designed that way.  I think some of them simply favor the AS/400 because "that's what they know."

Does anyone here use any other language on the AS/400?  I know the ILE supports C/C++ and others, if I remember correctly.  I know it's common to access databases on the AS/400 from like a VB program.

What do you guys think of AS/400 and RPG or for that matter IBM's line of computers.  They must have a future?  I mean everything's not Microsoft is it?

Inidicator 99
Wednesday, February 19, 2003

Long ago I worked in RPG II on a Wang VS-100 computer. I am happy to say that I have wiped all vestiges of that evial language from my memory, though.

Mike Gunderloy
Wednesday, February 19, 2003

I think AS/400's strong-point is stability/reliability.  RPG & AS/400 are the only jobs that I see fairly regularly in the local area (Buffalo, NY) - I'm not sure if it has something to do with the fact that AS/400s are built in Rochester, NY (a stone's throw away.)

Thursday, February 20, 2003

From a geek perspective, as400 and rpg are rad. My company still maintians rpg software on as400 systems along with new code written in Java (on Windows). I'll take the keyboard-only green screen interface over the point and click world of Sql Server anyday!

Jon Newton
Thursday, February 20, 2003

and as far as ILE and RPG IV, all of our RPG programmers - about 3-4 of them all use RPG III and are just starting to learning about 'new' concepts like pointers and such. they are very much grounded in their old ways. 

Jon Newton
Thursday, February 20, 2003

IBM has both C++/C cross-compiler and native compiler for AS400. If I remember correctly both of them are adapted versions of AIX C++ compiler.

AS400 is manufactored in Rochester MN, not Rochester NY.

Never programmed in RPG :)

Thursday, February 20, 2003


I stand corrected.  My boss said they were manufactured in Rochester NY and I couldn't confirm or deny his statement with a quick search on google before posting.  But thanks for clarifying.  Makes sense though, I've never heard of IBM having a big shop in the area.  There's Xerox, Kodak, etc. but not much else.

Thursday, February 20, 2003

I worked (as the sole Windows/C++ programmer) at a company that used an AS/400 as its main system. From reading the magazines the AS/400 programs got, I found the following facts:

1. Most AS/400's don't have a compiler installed. Most use only packaged software and the 'operator'/sys admin is usually someone with a different job in the company that only does computer stuff as necessary.

2. The most used compiler is RPG IV - it is installed on more then twice as many systems as the COBOL compiler (the next most popular compiler). The COBOL compiler, OTOH, is installed on more then twice as many machines as the C compiler. C++ installs were a tiny fraction of all machines.

The company I worked at was very unusual - we had RPG and COBOL compilers (and both programming and operations staffs).

The AS/400 (now renamed the iSeries by IBM) is a very stable workhorse of a system. It is very interesting that there is a wide chasm between computer professionals that work with the AS/400 and any other system. Reading the magazines focused on them was very interesting (see ) - sort of like reading the textbooks of an alien culture...

It's been about 5 years since I worked at that company, but every so often I take a look at AS/400 material to see if there is anything I can use.

Thursday, February 20, 2003

Worked with AS/400 in bank. It was a best server I've ever seen -no reboots, no BSODs, nothing -for a year.
Green screen interface (alphabet and numeric codes based)was great too, I've learned it in 3 months and still think that our banking system keyboard-only UI was much better then mouse-based ones, I was simply more productive.

Thursday, February 20, 2003


I've been working for 4 years as AS/400 programmer with RPG II and III.
RPG stands for Report Program Generator, and that should give you a clue about the original purpose of the language.
RPG II was used on the S/36 (a midrange thing of pre-as/400 times) and the RPG III "compiler" (note the quotes)was available on the AS/400 for migration purposes.
I said "compiler" because the RPG, Cobol, Pascal and standard C compilers din't generate true machine code. Instead they generated MI (Machine Interface) instructions, and that was interpreted much like Java bytecode. The only compiler that could be used for system programming was the IBM System C  compiler. I think the rest of compilers and the OS itself where compiled using that C compiler.


Thursday, February 20, 2003

I saw a presentation by one of the AS/400 designers.

It's like a machine implementation of the Java virtual machine idea.  You can switch CPUs and not recompile.  Memory and the filesystem are one in the same -- every file is "memory mapped" (this was because when the AS/400 was designed, they thought that bubble memory was going to be what everybody used in a few years, so they designed it so that using it would be natural... and then bubble memory didn't go anywhere).  There have been 7 different instruction sets that the AS/400 actually used and only the last change in instruction sets (to the PPC) was actually mentioned much.  It doesn't matter -- you write code to the upper level IL which represents a virtual machine with a 128 bit address space and that hasn't changed.  Behind the scenes, it will compile upper level IL code down to machine code for you, but you don't actually notice the whole process.

You can write C/C++ code, but it's like running with Purify or Boundschecker on all the time.  Any weird memory usage will result in a system crash.

It was quite impressive, actually...

flamebait sr.
Thursday, February 20, 2003

AS 400 is probably the best business platform ever built for business.  The libraries for development are wonderful, they make it easy to test new code on the same box as production code and swap code into and out of production. 

It is a shame people are switching to language du jour for business and leaving stable platforms such as this.  C++, Java, VB, C# are all fine for a lot of things.  For business software COBOL and RPG were and are the cat's ass.

I think the economic downturn may help stop some of the migrate to the PC server madness.  PC hardware needs to stay on the desktop.  Leave the server room to better kit.

There is an interesting article on the web if you can find it that states that MS back in 98 or 99 tried to replace 23 AS400's with about 2000 nt servers to handle their internal accounting and business software and failed miserably.

Gee, which would present lower tco 2000 boxes or 23 when looking at administration.  For thinking people MS is rarely the way to go.  If you shoot from the hip off shiny brochure's MS is always the way to go.

Crusty Admin
Thursday, February 20, 2003

In the early 90's I worked for a manufacturing software company which produced AS/400 software written in RPG IV.  I'll back up what others have said:  it's a very, very stable & secure machine.  It was almost impossible for it to lock up or behave erratically -- although I managed to do it once (I deleted some system files somehow).

RPG IV is quite dated, but it's good at what it's supposed to do -- chug though database records & display the results on paper & on screen.

The main thing I take away from my AS/400 experience is that for the most part customers won't pay extra for very secure, very stable but inflexible proprietary hardware.  Despite what they say, stability & security aren't at the top of their priorities.  They want cheap, open and flexible hardware which easily connects to their PC's.  I can't say I blame them, but I don't think customers ever fully take into account all the instabilities & downtime which cheaper hardware & operating systems can bring.

By the way, if anyone knows of an RPG job around the Boston area I know of a friend who's looking for one.  (No, it's not me -- I program games now, and RPG means something completely different in my field!)

Jeff S.
Thursday, February 20, 2003

*  Recent Topics

*  Fog Creek Home