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



Michael Ryan wrote:
Of course EVAL and IF are idiomatic to RPG...they're part of the
idiom. The global idiom of RPG has and is changing. That would be like
saying computer is not idiomatic to English because no one said it as
they were sailing over on the Mayflower.

Uh, no. Not quite.

"Mir tut der Kopf weh" is, if I can remember my high school German from about 32 years ago, a perfectly good way to declare, in German, that one has a headache. But a literal translation to English, "me does the head pain," or even Babelfish's "the head pain does to me," although technically correct (albeit convoluted) English syntax, is profoundly non-idiomatic. Instead, in English, we say, "I have a headache," or "My head hurts."

Consider COBOL's syntax for a moment. In COBOL, we might have (and it's been about 28 years since I last used COBOL):

SUBTRACT CREDIT FROM TOTAL.
or we might have:
COMPUTE TOTAL = TOTAL - CREDIT.
but the former is more idiomatic to COBOL, and there is a reason for that language's syntactic design: COBOL was designed, from the ground up, to be readable and understandable by non-programmers who hadn't taken a math course since high school algebra.

EVAL and IF statements are less idiomatic to RPG because they introduce free-format expressions into a rigid format that had been designed to make sense to users of plugboard-programmable unit record machines (like the proverbial mailroom kid who taught himself how to wire plugboards). "/free" takes us even further away, because it switches to a completely foreign syntax (kind-of, sort-of, but-not-quite PL/I syntax).

(It seems to me that it would have been far more productive to provide a full ANSI PL/I compiler in the ILE suite, than to graft something that looks vaguely like PL/I onto RPG. I'd have probably been one of the people who "lined up at the truck" for that one.)

It's the same reason why I refuse to call QuickBASIC and its derivatives BASIC. They're not dialects of BASIC; they're dialects of a language (QBASIC) that's *derived* from BASIC. BASIC has mandatory line numbers, and uses those line numbers as statement labels. QBASIC doesn't have mandatory line numbers, and statement labels can be either numbers, or any valid identifier followed by a colon.

--
JHHL

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.