Re: Why is OO Popular?
From: Eric Kaun (ekaun_at_yahoo.com)
Date: 05/03/04
- Next message: Robert C. Martin: "Re: OOA, OOD, design all first, how to go about it all?"
- Previous message: Shayne Wissler: "Re: Why is OO Popular?"
- Maybe in reply to: Jeff Brooks: "Re: Why is OO Popular?"
- Next in thread: Alfredo Novoa: "Re: Why is OO Popular?"
- Messages sorted by: [ date ] [ thread ] [ subject ] [ author ]
Date: Mon, 03 May 2004 19:57:55 GMT
"Jeff Brooks" <jeff_brooks@nospam.com> wrote in message
news:%dDjc.288974$Ig.234395@pd7tw2no...
> [much snipping]
>
> Actually, i think OO is the way people actually think.
I don't think you're right. Do you think that I'm correct is not thinking
that you're right, or am I thinking about it incorrectly? Did my
think(Object subject) method throw an exception?
> Lets look at a simple example of a chair. People think of a chair as a
> thing. The thing has some properties to it (it likely has 4 legs, is
> meant to be sat on, etc).
>
> When we learn about our first chair we treat it as a unique object. When
> we see our second chair we see it has similar properties to the first
> chair and we begin to form an understanding of chairness (the type chair).
>
> If I said i have a unique chair i built and asked if a person could sit
> on it what would you say? Odds are you know that chair like things are
> meant to be sat on so my unique chair can be sat on.
Yes, but it all depends on the axis of abstraction. Couldn't chairness mean
4-legged? How about "having a seat"? Is resting on the ground significant?
> Another example is a Person. If i asked you if my friend (that you have
> never met) has blood what would you say? Odds are you would say they
> have blood because you understand a what a person is and you know a
> person has blood.
And the vast majority of our common-sense observations have nothing to do
with the system we need to create.
> A humans ability to communicate with other people isn't based on their
> ability to send the complete information they know but rather we both
> have an understanding of basic classes of things and we use the same
> symbolic representation to define them which allows us to communicate.
Agreed, and that has nothing to do with a computer, nor does it imply that
we need to express our systems with the initial set of common-sense
observations we make. Manipulative ability, and correctness, and power, and
ability to automate all play a part.
> People understand and interact with the world based classes of things.
Really? I hardly ever touch real-world things in my job. They're mostly
abstractions.
In most domains there are many abstractions, plenty of confusion between
abstractions and concrete things, much more confusion regarding workflows
and processes and generally anything asynchronous, oh and then there's
technical architecture which is orthogonal, etc.
> This allows me to use a computer i have never seen before because I know
> that computers behave like other computers.
Hmmm. Really? The O/S, virtual machines, languages and all that are
essentially all the same thing and thus you can use them all at will? Wow.
> Quotes from "Design Principals behind Smalltalk" - byte mag Aug 1981
>
> "In designing a language for use with computers, we do not have to look
> far to find helpful hints. Everything we know about how people think and
> communicate is applicable. The mechanisms of human thought and
> communication have been engineered for millions of years, and we should
> respect them as being of sound design.
Human digestion is an equally respectable model, isn't it? Fecal movement is
surely just as solid a basis for design, based on the above comments. What a
load of crap.
> Moreover, since we must work with
> this design for the next million years, it will save time if we make our
> computer models compatible with the mind, rather that the other way
around."
This may simply be false, since this implies that language has no impact on
the way the mind works. Evidently we just have to settle for how the
language designers were thinking when they invented the language... or at
least reached their deadline.
> "The mind observes a vast universe of experience, both immediate and
> recorded. One can derive a sense of oneness with the universe simply by
> letting this experience be, just as it is. However, if one wishes to
> participate, literally to take a part, in the universe, one must draw
> distinctions. In so doing one identifies an object in the universe,
No, not every distinction is about an "object"; or if it is, then it's an
object in a not-necessarily-OO sense of the term.
> and
> simultaneously all the rest becomes not-that-object. Distinction by
> itself is a start, but the process of distinguishing does not get any
> easier. Every time you want to talk about "that chair over there", you
> must repeat the entire processes of distinguishing that chair. This is
> where the act of reference comes in: we can associate a unique
> identifier with an object, and, from that time on, only the mention of
> that identifier is necessary to refer to the original object. "
This paragraph identifies the two major flaws in OO: the insistence upon
rooting each function in a single distinguished class (making for arbitrary
assignments which then, in a language like Java, inherently produces package
dependencies), and the notion that the Object ID is significant in some
sense (it's not).
> "Classification is the objectification of nessness. In other words, when
> a human sees a chair, the experience is taken both literally an "that
> very thing" and abstractly as "that chair-like thing". Such abstraction
> results from the marvelous ability of the mind to merge "similar"
> experience, and this abstraction manifests itself as another object in
> the mind, the Platonic chair or chairness. "
We also have the marvelous ability to recognize phenomena whose source (and
"target") are non-obvious (or even undefined), to abstract "relationships"
into relations, etc. But apparently those things are all subservient to
"objects".
I'm not condemning type theory (the only adequate support for OO). I'm
condemning the mantra:
"Everything-is-an-object-except-when-it's-not-in-which-case-we-invent-a-patt
ern-to-cover-our-inadequate-language."
> The complete article is available here:
>
http://users.ipa.net/%7edwighth/smalltalk/byte_aug81/design_principles_behind_smalltalk.html
The above exerpts convince me that it just ain't worth the time. I really
thought the computing industry would be a little further along by now, but
it's LOGO from to bottom (hey! maybe the whole universe is that way!)
- erk
- Next message: Robert C. Martin: "Re: OOA, OOD, design all first, how to go about it all?"
- Previous message: Shayne Wissler: "Re: Why is OO Popular?"
- Maybe in reply to: Jeff Brooks: "Re: Why is OO Popular?"
- Next in thread: Alfredo Novoa: "Re: Why is OO Popular?"
- Messages sorted by: [ date ] [ thread ] [ subject ] [ author ]
Relevant Pages
|