×
The internal search function is temporarily non-functional. The current search engine is no longer viable and we are researching alternatives.
As a stop gap measure, we are using Google's custom search engine service.
If you know of an easy to use, open source, search engine ... please contact support@midrange.com.
David FOXWELL wrote:
For a programmer who has very little knowledge of the world outside RPG and CL ( like me for instance ) that is difficult to question.
Could those of you who KNOW RPG is best explain very simply, why?
I'm sure you knew I'd speak up, didn't you? <grin>
Anyway, my opinion is based on a pretty extensive micro and midrange
computer background. No real mainframe in there to speak of other than
my college days, but I was working with PCs well before they were called
PCs (the Intel 8080 and 8085 days).
What makes a language good for business in my experience is based on two
things: it's database access, and it's ability to cleanly express
business logic. One of the first languages that did this best in my
opinion was dBase. In fact, a lot of small business ran off of dBase
for a lot of years. And the thing that made that work was the fact that
dBase had a simple, declarative syntax (things like DO and ENDDO, and a
very simple interface with the user) that included a tightly integrated
database syntax. Most important was ISAM access capability: it was very
easy to access a record or a group of records by key. True business
logic often has to execute entirely different branches of the code based
on the setting of a field in the database; this is most easily
accomplished in a language that can read a single record efficiently.
RPG always had outstanding access to the database, from the time of the
CHAIN instruction. And as time progressed and the language added
support for more powerful programming constructs (particularly the CALL
opcode), it became easy to write powerful modular code in RPG. One
thing that really helped along those lines was the ability for RPG to
leave files open. The memory management capabilities of the underlying
operating system and retaining state between calls made modular RPG a
reality. Whereas other operating environments could indeed allow a call
from one program to another, it required things like spawning (very
costly). Throw in built-in support for bi-directional parameters, and
the RPG call instruction may be one of the most powerful innovations in
business programming in the last several decades.
One other thing that RPG has that so few other languages support is the
concept of a fixed-precision decimal primitive. Although I consider
this to be a requirement, I don't get too uppity because RPG took so
very long to get true date support. It has it now, but it sure took a
long time.
I won't spend a lot of time telling you why other languages aren't as
good. But look at my requirements: easy access to single records by
key, simple declarative language with support for modular stateful
programming, and intrinsic support for business types.
Joe
As an Amazon Associate we earn from qualifying purchases.