comp.lang.ada
 help / color / mirror / Atom feed
From: Robert Dewar <robert_dewar@my-deja.com>
Subject: Re: friend classes in ada95
Date: 2000/04/20
Date: 2000-04-20T00:00:00+00:00	[thread overview]
Message-ID: <8dmjsq$vm9$1@nnrp1.deja.com> (raw)
In-Reply-To: m3hfcxjt22.fsf@ns58.infomatch.bc.ca

In article <m3hfcxjt22.fsf@ns58.infomatch.bc.ca>,
  Ray Blaak <blaak@infomatch.com> wrote:

> OO programming being essentially about ADTs covers the most
> important and worthwhile point. What makes OO programming
> different from ADTs, in least in my opinion, is language
> support for inheritance and polymorphism.

nope! that has nothing to do with object oriented programming.
inheritance and polymorphism are concepts that perfectly well
fit into the general world of ADT's.

Example. Suppose we define an abstract algebra as a tagged
type. The operations are purely value oriented (e.g. operation
+ on two elements computes a third element).



The notion of extending the abstract algebra to a concrete
field makes perfect sense, and the notion of dynamic dispatching
to allow routines to deal with different algebras also makes
sense.

What does not make sense is to think of this as object
oriented programming, since the two fundamental components
of objects:

  1. state, so that objects can be changed

  2. methods with message passing semantics so that the
     operations are viewed as passing a message to the
     distinguished object (the prefix in languages that
     use this syntax)

are completely missing.

When Simula-67 was introduced, ADT's were of course very well
known and understood (this was after all a decade after Algol-60
was introduced!) Simula-67 had something original and
interesting to add to the programmer's knowledge base.

If you think that OO is simply about ADT's then you are back
in the 60's and have missed something :-)

On the other hand, if you think that type extension, information
hiding, and dynamic dispatching are ONLY about object oriented
programming, then you have also missed something!


Sent via Deja.com http://www.deja.com/
Before you buy.




  parent reply	other threads:[~2000-04-20  0:00 UTC|newest]

Thread overview: 91+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2000-04-14  0:00 friend classes in ada95 Stefan Folkesson
2000-04-14  0:00 ` John J. Rusnak
2000-04-14  0:00 ` Julian Day
2000-04-14  0:00   ` Steve Folly
2000-04-14  0:00     ` Robert A Duff
2000-04-17  0:00       ` John J. Rusnak
2000-04-18  0:00         ` Vincent Marciante
2000-04-18  0:00           ` John Rusnak
2000-04-18  0:00       ` Steve Folly
2000-04-14  0:00 ` Florian Weimer
2000-04-14  0:00   ` Stefan Folkesson
2000-04-14  0:00 ` swhalen
2000-04-15  0:00 ` Jeff Carter
2000-04-16  0:00   ` Robert Dewar
2000-04-16  0:00     ` Jeff Carter
2000-04-16  0:00       ` David Botton
2000-04-17  0:00         ` Robert Dewar
2000-04-17  0:00           ` Hyman Rosen
2000-04-17  0:00             ` Robert Dewar
2000-04-16  0:00     ` David Botton
2000-04-17  0:00       ` Robert Dewar
2000-04-17  0:00         ` David Botton
2000-04-17  0:00         ` David Botton
2000-04-18  0:00           ` friend classes in ada95 (long) tmoran
2000-04-18  0:00             ` David Botton
2000-04-18  0:00               ` friend classes in ada95 Stanley R. Allen
2000-04-19  0:00               ` MI, was " tmoran
2000-04-19  0:00                 ` David Botton
2000-04-19  0:00               ` friend classes in ada95 (long) Brian Rogoff
2000-04-19  0:00                 ` David Botton
2000-04-19  0:00                 ` Hyman Rosen
2000-04-19  0:00                   ` Brian Rogoff
2000-04-23  0:00                     ` Hyman Rosen
2000-04-23  0:00                       ` Brian Rogoff
2000-04-24  0:00                         ` Hyman Rosen
2000-04-25  0:00                           ` Brian Rogoff
2000-04-25  0:00                             ` Ole-Hjalmar Kristensen
2000-04-18  0:00       ` friend classes in ada95 Geoff Bull
2000-04-18  0:00         ` Jean-Pierre Rosen
2000-04-18  0:00           ` tmoran
2000-04-18  0:00             ` John J. Rusnak
2000-04-19  0:00               ` Jean-Pierre Rosen
2000-04-19  0:00               ` Geoff Bull
2000-04-19  0:00                 ` Robert Dewar
2000-04-19  0:00                 ` David Botton
2000-04-19  0:00                   ` Robert Dewar
2000-04-20  0:00                     ` Geoff Bull
2000-04-19  0:00                   ` Robert Dewar
2000-04-19  0:00                 ` Ehud Lamm
2000-04-19  0:00                 ` Jeff Susanj
2000-04-19  0:00                   ` tmoran
2000-04-19  0:00                   ` Robert Dewar
2000-04-19  0:00                     ` Jeff Carter
2000-04-19  0:00                       ` Ray Blaak
2000-04-20  0:00                         ` Jean-Pierre Rosen
2000-04-20  0:00                           ` Ray Blaak
2000-04-20  0:00                             ` Jean-Pierre Rosen
2000-04-24  0:00                               ` Ray Blaak
2000-04-20  0:00                           ` Robert Dewar
2000-04-20  0:00                             ` BSCrawford
2000-04-20  0:00                             ` Jean-Pierre Rosen
2000-04-20  0:00                             ` Brian Rogoff
2000-04-20  0:00                         ` Robert Dewar [this message]
2000-04-20  0:00                           ` Ray Blaak
2000-04-20  0:00                             ` Charles Hixson
2000-04-21  0:00                               ` Jean-Pierre Rosen
2000-04-29  0:00                                 ` Aidan Skinner
2000-04-29  0:00                                   ` Robert I. Eachus
2000-04-21  0:00                               ` Jon S Anthony
2000-04-20  0:00                       ` Robert Dewar
2000-04-20  0:00                         ` Jeff Carter
2000-04-21  0:00                           ` Robert Dewar
2000-04-21  0:00                             ` Ken Garlington
2000-04-21  0:00                             ` Jon S Anthony
2000-04-22  0:00                               ` Robert Dewar
2000-04-19  0:00                   ` Bill Greene
2000-04-19  0:00               ` Robert Dewar
2000-04-18  0:00           ` John Rusnak
2000-04-19  0:00             ` Robert Dewar
2000-04-18  0:00           ` Pascal Obry
2000-04-18  0:00           ` David Botton
2000-04-18  0:00         ` David Botton
2000-04-17  0:00     ` Robert I. Eachus
2000-04-18  0:00       ` Robert Dewar
2000-04-19  0:00         ` Robert I. Eachus
2000-04-20  0:00           ` Robert Dewar
2000-04-20  0:00             ` Ray Blaak
2000-04-23  0:00             ` Robert I. Eachus
2000-04-19  0:00     ` Alfred Hilscher
2000-04-19  0:00       ` Ray Blaak
2000-04-19  0:00         ` Robert Dewar
replies disabled

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox