× 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.

This thread ...

Follow-Ups:
Replies:

Follow On AppleNews
Return to Archive home page | Return to MIDRANGE.COM home page

This mailing list archive is Copyright 1997-2024 by midrange.com and David Gibbs as a compilation work. Use of the archive is restricted to research of a business or technical nature. Any other uses are prohibited. Full details are available on our policy page. If you have questions about this, please contact [javascript protected email address].

Operating expenses for this site are earned using the Amazon Associate program and Google Adsense.