Re: Why is OO Popular?
From: Michael N. Christoff (mchristoff_at_sympatico.caREMOVETHIS)
Date: 05/05/04
- Next message: Ilja Preuß: "Re: composition vs. inheritance"
- Previous message: Franz: "What is CASE Tool"
- In reply to: Mark S. Hathaway: "Re: Why is OO Popular?"
- Next in thread: Thomas Gagné: "Re: Why is OO Popular?"
- Reply: Thomas Gagné: "Re: Why is OO Popular?"
- Reply: Eric Kaun: "Re: Why is OO Popular?"
- Messages sorted by: [ date ] [ thread ] [ subject ] [ author ]
Date: Wed, 5 May 2004 03:01:18 -0400
"Mark S. Hathaway" <hathawa2@marshall.edu> wrote in message
news:40939b6b@alpha.wvnet.edu...
> Jeff Brooks wrote:
>
> >> cstb wrote:
> >>
> >>> Jeff Brooks:
> >>>
> >>> ... Actually, i think OO is the way people actually think.
> >>
> >> There appears to be a relationship, yes.
> >> However, people are capable of thinking in ways that are much
> >> richer than the results obtained by orienting on Objects alone.
> >
> > Are you sure?
> >
> > The research that created Smalltalk was done by looking at how very
> > young children interact and think about the world and they based the GUI
> > + Smalltalk on that (the first gui was made by this research group).
> > This research allows us to understand the basics of understanding
> > because they looked at the primitive thoughts of people.
> >
> > For example:
> >
> > To interact with a thing you have to identify it. Children can identify
> > things by pointing at them even if they don't know the word for it. This
> > resulted in a pointing device being created called the mouse which would
> > allow people to point at what they want to use. All access to objects in
> > Smalltalk are done via references so there is a uniform way to "point"
> > at an object in code.
> >
> > Children can't read well, but they can identify shapes and understand
> > how to move things. So they concluded making an interface based on
> > shapes and moving them is more natural than text interfaces. This
> > resulted in shapes and the ability to pick them up and put them where
> > you want them. Some of the shapes were icons, windows, etc.
> >
> > Children understand certain things behave in certain ways. Things that
> > behave in similar ways are easier for children to learn.
> >
> > Allowing things in a computer that are different to behave in similar
> > ways allows people to learn them faster and those things feel more
> > natural. This is why actions like opening a document is done in the same
> > way no matter what type of document it is in a GUI. The concept of
> > allowing different things to behave in similar ways effects both the GUI
> > and the programming language.
>
> What you're describing makes me think an OO program is
> designed for a human being to execute, rather than a computer.
> But, what about the process of designing an app/OO program?
> Is that process natural for humans? Maybe the maintenance
> programmer would have an easier time reviewing the universe
> of that program, discerning the objects and utilizing them,
> but to "play God" and create new objects is certainly not
> a natural human practice. Though we've begun to do just
> that in the last several thousand years it's not at all
> clear that OO-thinking is related to the human creative
> process.
>
> > I think people can think in more complex ways as they get older but that
> > doesn't mean they don't think in an object oriented way. Children don't
> > understand logic, but they understand objects and classifications. I
> > think people can learn logic but i think we understand it by
> > understanding things, and classifications.
> >
> > Another way of putting it is we can program different types of languages
> > using object oriented languages. That doesn't mean that OO isn't at the
> > core of the new languages. Children first understand an
> > objects/classifications so i think it is likely the basis of our
> > understanding.
>
I think the main reason OO is popular is that the tasks modern computers are
being asked to do most often require network architecture. Applications are
becoming more and more distributed and the object paradigm has very good
support for highly distributed architectures (at least compared to
functional and procedural). If the buying public was asking for huge
quantities of symbolic algebra programs I'm sure functional would be "the
most popular" paradigm. If large business didn't require integration of
information coming in from both internal and external sources around the
world in any number of data fromats, I'm sure procedural/relational would be
more than adequate for any conceivable business task. P/R was good in the
days when everything was more centralized and of a smaller scale. It is
not, IMO, the best paradigm for global network computing, and neither is
functional.
On a more philosopical note, I also see the increasing popularity of
'complex systems', where you have to almost embrace complexity to an extent.
The power of this type of system comes from the parallel _interactions_ of
spacially separated nodes/objects/cells/atoms (or whatever). In fact, one
can almost think of complex systems (from models of vibrations through
crystals to the internet), as types of asynchronous message-passing systems.
While OO may not have been built with this in mind, its built-in support for
decentralized network computing is what I see as driving market interest in
the paradigm.
Oh, and another market driver, IMO, is the fact that objects lend themselves
well to diagrams (UML). The idea of a 'software blueprints' probably
sounds like a pretty good idea to a lot of CEOs. Everyone complains about
the software development process being more of an art than a science. Using
UML may lend, at least the illusion of, increased process structure.
l8r, Mike N. Christoff
- Next message: Ilja Preuß: "Re: composition vs. inheritance"
- Previous message: Franz: "What is CASE Tool"
- In reply to: Mark S. Hathaway: "Re: Why is OO Popular?"
- Next in thread: Thomas Gagné: "Re: Why is OO Popular?"
- Reply: Thomas Gagné: "Re: Why is OO Popular?"
- Reply: Eric Kaun: "Re: Why is OO Popular?"
- Messages sorted by: [ date ] [ thread ] [ subject ] [ author ]
Relevant Pages
|