On Tue, Dec 9, 2014 at 5:12 AM, John E <whattssonn@xxxxxxxxx> wrote:
Dr. Allan Kay (the one who "invented" OOP) :
"
OOP to me means only messaging, local retention and protection and hiding
of state-process, and extreme late-binding of all things.
"
It's more accurate to say that he coined the term "object-oriented
programming" than to say he invented the concept. You could argue he
invented a particular flavor of it. The thing is, OOP is not just one
person's vision. Like almost anything else, other people can have
valid opinions, and concepts can evolve. What something becomes can
be highly influenced by what people want it to be. Even the meanings
of words in everyday language. Dictionaries need to be updated from
time to time.
There are many disagreements over what exactly OOP entails (some
mentioned in the link you gave). Here's another, mostly agnostic,
discussion of what OOP is:
http://mumble.net/~jar/articles/oo.html
I don't think you will find many people who would deny that Java is
object oriented and supports OOP. Certainly Java was specifically
designed to support OOP. Yet in many ways it's quite far from Alan
Kay's vision.
So the most important "thing" in OOP, and SWD in general, is to de-couple
code, and manage / control state. So if you have *good* experience with
*modular* programming (not just using procs instead of subs which is just
syntax), using *MODULEs and *SRVPGMs, then you're already 80% there (i.e.
you know the important concepts).
If that's your experience and expertise, you would still not be
anywhere near 80% of the way toward Alan Kay's idea of OOP (though you
could be most of the way toward Java's flavor of OOP).
I'm not saying modular programming is bad, or that you're not 80% of
the way to "something good". I'm just saying that quoting Alan Kay
isn't supporting your argument.
John Y.
For more comprehensive reading on OOP, there's
http://c2.com/cgi/wiki?DefinitionsForOo
That wiki has a fairly detailed page devoted to Alan Kay's OOP:
http://c2.com/cgi/wiki?AlanKaysDefinitionOfObjectOriented
As an Amazon Associate we earn from qualifying purchases.