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



Booth Martin wrote:
> What stikes me most about this thread is the absolute terror in the eyes
> of
> the "experts"  as they see RPG doing the things that are reserved for
> their Sacred Cow of OO.

"terror"?!? "Sacred Cow"?!? Are you kidding? The main reason I've refrained 
from participating more in this debate is David's request to move the 
debate on to some other fora (which aren't shadowed on gmane, my preferred 
medium for these mailing lists).

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.

. . . .

Joe recommended reading up on design patterns, and I whole-heartedly agree. 
Here's one book that helped me understand the issues better:

Design Patterns Explained
Alan Shalloway, James R. Trott
2002, Addison-Wesley
0-201-71594-5
QA76.9.O35 S52 2001

. . . .

Regarding specific languages, it is very easy to confuse OO programming with 
C++ programming or Java programming. Writing a program in a language that 
supports OO arguably might be called OO programming, but that alone isn't 
necessarily OO design, which is the important thing.

Regarding RPG (remember RPG? This is a forum about RPG!), an understanding 
of OO can certainly help in the design of applications written in RPG. But 
again, please don't confuse specific OO language features with OO design. 
Once the subtleties of OO design are understood, you can apply the lessons 
productively even in procedural languages.

Cheers! Hans



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.