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




-----Original Message-----
From: rpg400-l-bounces@xxxxxxxxxxxx
[mailto:rpg400-l-bounces@xxxxxxxxxxxx]On Behalf Of Hans
Sent: Tuesday, May 06, 2003 7:59 PM
To: rpg400-l@xxxxxxxxxxxx
Subject: RE: what is object oriented programming

>Let me try this from a different angle. A few notes back, I mentioned that
>OO was like a different religion, so let's take that comparison a bit
>further. Throughout history (mainly in past millenia), there have been
>so-called "mystery" religions, which consist of several levels of
>initiation. At the first level, initiates are taught certain myths and
>stories as the truth. But when members advance and are initiated into
>subsequent levels, the real meaning behind the myths is revealed. In some
>cases, the "true" meaning of the myths flat out contradict the initial
>lessons. The initial stories are deemed necessary to prepare the initiate
>to handle the more esoteric truth of the religion.

>OO is sort of the same kind of experience. As you learn more and more about
>OO, you come across a number of "aha" insights, and the overall picture
>becomes much clearer. In some ways, the later insights actually contradict
>things learned earlier. As I suggested in another note, you realize it
>isn't so much about programming as it is about design.

>One of these contradictions is over the issue of "data hiding", which many
>think is part of OO. Although it's a popular issue of software engineering,
>it's not really part of OO. Some OO languages don't even bother with
>keywords like "public", "protected", and "private".

>It's kind of like Zen. If you have to explain it, you just don't get it. If
>you think you understand it, you really don't. I know the analogy isn't
>perfect, and I don't really want to give the impression that OO is some
>arcane esoteric experience attainable only by monks in saffron robes. My
>point is just that there's more to it than the introductory books and
>dictionary definitions might suggest.

>From the start I have been using the words "object oriented" as they apply
to a style or programming that is applicable to RPG. I have never understood
what OO is, dont claim to, and after reading Hans's post above, still dont.
People always seem to explain it, just like Hans did, by telling you what it
is not, and never get around to saying what it is.

There is a style of programming that programmers can employ where data is
encapsulated in an "object" and then procs which are "oriented" toward the
data are called to act on the data.  An RPG programmer can employ that style
of programming to a degree.  I have posted examples of that.

My interest in this topic is in suggesting how RPG could be improved to
permit this style of programming to be more effectivly employed.  Procs
could be declared as members of a data struct.  A data struct could possibly
be declared with an "Is a" attribute which would be the equivalent of base
classes in C++.  Maybe there could be "property get" and "property set"
members of a data struct.  Not knowing the secrets of ILE, even object
access operators ( struct1 >> CustMast // write a rcd to the file ) could be
possible.

All of this of course will likely never happen, and if it does, it will not
be released until 2005, by which time most of us will be not working as rpg
programmers.    The "open source the compiler" suggestion, which I concede
also is pointless, is a practical way for needed enhancements to the
language to find there way onto the programmers desktop.


-Steve



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.