Saturday, January 4, 2014

The Basics

RPG refers to Report Program Generator.   A business programming language originally developed for the IBM 1401 system.. Today's modern RPG only vaguely resembles it origin, but despite modern advances it still now lags behind in the forward thinking computing paradigms which Java is a part.

Java on the other hand is a fairly new language relative to RPG.  It employs OO (object Oriented) architecture.   It's this fact that makes a transition to Java for some RPG programmers a challenge.

RPG by it's very nature is a top down, procedural language, and this doesn't always translate well into a OO perspective.. Yet, don't let that dissuade you from proceeding further.. The fact is there is a great deal of similarity if you approach the transition in the right frame of reference.   So let's start with those references.

Java like RPG on the iSeries is a compiled language.   The results of the compile of either is an object which contains execution instructions for a VIRTUAL Machine.   Neither compile code that is tied to a specific piece of hardware.

What is Java.. Java is a language that utilizes a concept of a "Java Virtual Machine".. this is called the JVM.  A JVM is written to support different hardware platforms.  Whether or not Java will run on a given machine depends on whether or not there is a JVM for that machine.  For the Intel Platform, JVM's are plentiful.  There is a JVM for virtually all of IBM equipment.

Now this concept shouldn't be to strange for iSeries programmers.. For RPG itself is compiled to run on a virtual machine as well.   The iSeries is essentially a VM.. and it's interface is MI (Machine Interface code).   The MI on an iSeries is an equivalent to the JVM Byte codes of the Java platform.

Next is a list of typical RPG iSeries entities and the corresponding Java entity


No comments:

Post a Comment