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