Re: Why is OO Popular?

From: Calum (calum.bulk_at_ntlworld.com)
Date: 04/28/04


Date: Wed, 28 Apr 2004 16:47:09 +0100

Shayne Wissler wrote:
> "Topmind" <topmind@technologist.com> wrote in message
> news:4e705869.0404262150.3ceaf835@posting.google.com...
>
>>>>Hi, I was wondering if anyone could tell me why object oriented
>>>>approaches to programming are becoming very popular.
>>>>
>>>>Thanks
>>>>
>>>>Ian
>>>
>>>In my opinion OO programming is popular mainly for two reasons :
>>>
>>>1. Design is closer to the way humain think.
>>
>>Bull! It might map to the way SOME people think, but not
>>me and not all.
>
>
> We could reword it to take people like you into account: OO is closer to the
> way humans ought to think.

I think it would be sad if humans thought like computers - I don't think
this is what you intend? Of course we use intuition in ways that are
not easily formulated as an OO program.

To speculate on how humans think, we can look to human language. There
must be a correspondence between human thought and human language, some
would even say they are inseparable. In natural language, you have
nouns, verbs and adjectives, which correspond to objects, messages and
members. Therefore, there is at least some correspondence between OO
language, human language, and therefore human thought.

OO does not have a monopoly on nouns, verbs and adjectives however. In
a functional language, a function is perhaps a verb, while values are
nouns. In a logic language, terms are nouns, while predicates are verbs
or adjectives.

Another way of assessing the "naturalness" of a language is to look at
the degree of abstraction. Our brains cope with the real world well,
this is what they have evolved to do best. If we can make a program
obey real-world rules, then presumably our brains can manipulate it better.

Logic programming is "better" IMO at modeling the real world, e.g.

        mother(sara,james).
        eats(james,chips).
        colour(chips,yellow).
        loves(A,B) if mother(A,B) or father(A,B).

however to implement algorithms using logic programming is IMO less easy
than in functional/procedural/OO languages. So this isn't the whole
story either.

I think OO works, because it organises programs into objects, which our
brains treat as real-world objects. OO is an approach that emphasises
the "noun" part of language, while other paradigms emphasise the "verb".
  Our brains can cope with hundreds of nouns, whilst hundreds of verbs
are difficult to visualize.

This is just speculation however, I only speak for myself.

Calum



Relevant Pages

  • Re: Linguistic Predictions IV
    ... > density of information necessitates a tool to communicate and interact ... Human language might not be capable of keeping pace with this ... Academic language uses more nouns than verbs ...
    (sci.lang)
  • Re: Go, "Western" vs. "Asian" Thinking - Not What I Had In Mind... : (
    ... language dies. ... In ancient Greek culture, for example, we have Attic ... but expressing their thoughts in a different way. ... There are the verbs for instance, where the difference is most easily ...
    (rec.games.go)
  • Re: Elements of Style in English
    ... the human theory of mind and human language, ... others are, by extrapolation, the agents of their actions. ... what we would call verbs and nouns, or that lack any notion of agency ... corresponding to verbs ...
    (comp.lang.lisp)
  • Re: Why is OO Popular?
    ... In natural language, you have ... >language, human language, and therefore human thought. ... >OO does not have a monopoly on nouns, verbs and adjectives however. ...
    (comp.object)
  • Re: language trainer - kind of thing
    ... basically attempts to construct a sentense using the word banks, grammar ... > recently I've started learning yet another foreign language ... I'm learning Spanish now. ... > repeat them often with various modifications like using different verbs, ...
    (sci.lang)