comp.lang.ada
 help / color / mirror / Atom feed
From: Robert A Duff <bobduff@shell01.TheWorld.com>
Subject: Re: Generic procedures and their parameters
Date: 10 Sep 2006 07:49:15 -0400
Date: 2006-09-10T07:49:15-04:00	[thread overview]
Message-ID: <wccy7ss3ps4.fsf@shell01.TheWorld.com> (raw)
In-Reply-To: S4IMg.38871$aJ.19912@attbi_s21

"Jeffrey R. Carter" <spam.not.jrcarter@acm.not.spam.org> writes:

> Robert A Duff wrote:
> > Note that making everything tagged, and having a root Object type in
> > the
> > hierarchy doesn't really make everything OO.  OO-ness really comes from
> > 'Class, mainly.
> 
> OO-ness (object-oriented-ness) is a design attribute.

Well, yeah, that's true.  I guess I'm focusing on language features that
support OOP, as opposed to OOP itself.  And I'm deliberately ignoring
OOD and OOA, which are, to a large extent, snake oil.

>... You can have
> perfectly good OO-ness without type extension, dispatching, or
> 'Class. You can have it in Ada 83 or assembler. Similarly, the use of
> type extension, dispatching, or 'Class doesn't give you OO-ness. They
> give you programming by extension, which does not necessarily have
> anything to do with OO-ness.

I'll quibble with the Ada 83 part.  Part of OOP is the "open-closed
principle", which means you can change/extend behavior of something
without modifying its source code.  That really requires dispatching, or
something very much like it, and Ada 83 doesn't have any form of
indirect call with which to similate that.  Asssembly languages do,
though.

Of course, you can simulate (say) Smalltalk in Ada 83, and then do OOP
using that, but then that's not quite Ada programming anymore.

- Bob



  reply	other threads:[~2006-09-10 11:49 UTC|newest]

Thread overview: 27+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2006-09-06  8:51 Generic procedures and their parameters Maciej Sobczak
2006-09-06  9:43 ` Dmitry A. Kazakov
2006-09-06 12:36   ` Maciej Sobczak
2006-09-06 13:11     ` Robert A Duff
2006-09-06 14:14       ` Maciej Sobczak
2006-09-06 15:09         ` Dmitry A. Kazakov
2006-09-06 16:35           ` Georg Bauhaus
2006-09-07  7:32             ` Dmitry A. Kazakov
2006-09-07  6:48               ` Georg Bauhaus
2006-09-07 10:19                 ` Dmitry A. Kazakov
2006-09-08  9:11           ` Maciej Sobczak
2006-09-08 10:19             ` Dmitry A. Kazakov
2006-09-09 14:49         ` Robert A Duff
2006-09-09 15:34           ` Dmitry A. Kazakov
2006-09-09 23:26           ` Jeffrey R. Carter
2006-09-10 11:49             ` Robert A Duff [this message]
2006-09-10 19:43               ` Jeffrey R. Carter
2006-09-06 13:02   ` Robert A Duff
2006-09-06 14:09     ` Dmitry A. Kazakov
2006-09-08  3:35   ` Randy Brukardt
2006-09-08  7:21     ` Dmitry A. Kazakov
2006-09-09  1:29       ` Randy Brukardt
2006-09-09  7:14         ` Dmitry A. Kazakov
2006-09-09 14:32         ` Robert A Duff
2006-09-06 12:56 ` Robert A Duff
2006-09-07  2:47 ` Steve
2006-09-07  7:47   ` Dmitry A. Kazakov
replies disabled

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