|
On Apr 17, 2021, at 8:32 PM, Frank Kolmann <frank.kolmann@xxxxxxxxx> wrote:
RPG evolved from a very simple language. I was stunned when I found in RPG II one could add only 2 variables together in one line of cpde.
RPG II III IV never had a concept of functions that you could import into your code.
There were no standard or other librarys one could access.
All I/O functions and op codes were built in for want of a better term , ( is that runtime?)
There was some ability to code SPECIAL routines defined on the F (file) specs but hardly no one knew how to do that.
To compare RPG to C is not imo a comparison that makes sense.
With C one has capabilities to code compilers and operating systems. RPG never had that.
RPG was perfect for coding solutions to business requirements.
I found C was a bit like using a military tank to go to your local shops, way to much overkill to solve business issues.
I found simply getting C code to compile was next to impossible.
I could not write C code like I wrote RPG. I could code an entire RPG program then use the compiler to flush out coding errors.
With C I needed to start with a very small bit of C code that compiled, then add a line or two and compile that.
It was the only way I could construct a C program , I needed hundred or even thousands of compilations.
Luckily todays C compilers are very fast so C coding in that manner was feasible.
When you throw OOP into the ring RPG never had that.
Only relatively recently did RPG ILE even have a concept of functions.
It was only when I learnt C did I begin to understand what functions were, what library functions were etc.
I am old and retired from coding but I wonder, do we really need to convert RPG from a family car into a military tank.
Frank
On 18/04/2021 9:38 am, John Yeung wrote:
On Sat, Apr 17, 2021 at 12:55 PM Jon Paris<jon.paris@xxxxxxxxxxxxxx> wrote:
It is a little naive perhaps.So my naivety is that I have a different concept of what "runtime"
FOR-EACH, %LIST, etc. are easily accomplished by code gen. The underlying code is in place for all of them - they are just syntactic constructs on top of simple conventional operations.
Many features like %DEC use run time procedures - you wouldn't do code gen for that. Same applies to %SPLIT (for example) that is going to be a call to a procedure, no way you would do code gen and duplicate it in each and every program that used it.
entails. But it's also the case that this is an inherently fuzzy term,
with different language implementations putting different kinds of
"stuff" into their respective "runtimes".
In particular, there are functions which in some language
implementations would be considered part of the "standard library" but
in others would be part of the runtime. As far as I know, RPG doesn't
even have a standard library to speak of, so it makes sense that there
would be a whole bunch of "library-ish" functions that go into the
runtime.
John Y.
--
This is the RPG programming on IBM i (RPG400-L) mailing list
To post a message email: RPG400-L@xxxxxxxxxxxxxxxxxx
To subscribe, unsubscribe, or change list options,
visit: https://lists.midrange.com/mailman/listinfo/rpg400-l
or email: RPG400-L-request@xxxxxxxxxxxxxxxxxx
Before posting, please take a moment to review the archives
at https://archive.midrange.com/rpg400-l.
Please contact support@xxxxxxxxxxxxxxxxxxxx for any subscription related questions.
Help support midrange.com by shopping at amazon.com with our affiliate link: https://amazon.midrange.com
As an Amazon Associate we earn from qualifying purchases.
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.