comp.lang.ada
 help / color / mirror / Atom feed
From: Robert A Duff <bobduff@shell01.TheWorld.com>
Subject: Re: Ada OOP alternatives?
Date: Tue, 15 Jul 2008 20:15:05 -0400
Date: 2008-07-15T20:15:05-04:00	[thread overview]
Message-ID: <wcctzeq7khi.fsf@shell01.TheWorld.com> (raw)
In-Reply-To: 462e0cf4-1d53-4918-b30b-dd3d8df90f1b@p25g2000hsf.googlegroups.com

raould <raould@gmail.com> writes:

> might anybody know what the different designs were for OO in Ada? what
> was Ichbiah's design, vs. the one that went through? thanks.

Interesting question.

As far as I know, Ichbiah didn't have a design for OO in Ada 95.
He wanted the syntax to be something like "class type T is...",
as opposed to "type T is tagged...", and he _very_ much wanted
"class" to be a reserved word, rather than a mere attribute.

I don't remember Ichbiah proposing any detailed semantics
for "class type T is...".  His concern, as far as I know,
was syntax-oriented.

Of course Ichbiah knew all about OO when he designed Ada 83 -- I'm told
he was familiar with Simula 67, for ex., which is the Mother of all OOP
languages.  He left OO out of Ada 83 deliberately.  I've no idea whether
that was his own choice, or forced by some requirements document like
Steelman.

And Ichbiah invented Ada's derived types, upon which Tucker Taft based
OO in Ada 95.  I've no idea whether Ichbiah had that sort of thing in
mind when he invented derived types.  But I've been told that derived
types were controversial for Ada 83 -- the reviewers thought they were
useless nonsense, but Ichbiah insisted on keeping them in the language
design.

As for other (non-Ichbiah) designs, well I've seen various
proposals for "package types", treating Ada packages like "classes" in
languages like Simula-67, Java, C++, etc.  I'm not sure that works.
E.g. the question arises whether types declared in two different
"package objects" of the same "package type" should be the same type.
I'm not sure it does _not_ work, either.  ;-)

- Bob



  reply	other threads:[~2008-07-16  0:15 UTC|newest]

Thread overview: 35+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2008-07-15 20:38 Ada OOP alternatives? raould
2008-07-16  0:15 ` Robert A Duff [this message]
2008-07-16  6:33   ` Georg Bauhaus
2008-07-16  9:54     ` Alex R. Mosteo
2008-07-16 13:03       ` Dmitry A. Kazakov
2008-07-16 14:07       ` Robert A Duff
2008-07-16 18:11         ` (see below)
2008-07-17  0:05           ` Robert A Duff
2008-07-17  0:43             ` (see below)
2008-07-17  1:36               ` Robert A Duff
2008-07-17 11:07                 ` (see below)
2008-07-17 16:45                   ` Robert A Duff
2008-07-17 12:00                 ` Dmitry A. Kazakov
2008-07-17 16:50                   ` Robert A Duff
2008-07-17 18:56                     ` Dmitry A. Kazakov
2008-07-18 12:54                       ` Robert A Duff
2008-07-18 13:36                         ` Dmitry A. Kazakov
2008-07-17 23:27                 ` Randy Brukardt
2008-07-18 12:45                   ` Robert A Duff
2008-07-18 23:22                     ` Randy Brukardt
2008-07-22 20:32                 ` Adam Beneschan
2008-07-22 22:18                   ` Ludovic Brenta
2008-07-23  9:25                     ` Alex R. Mosteo
2008-07-22 23:35                   ` Randy Brukardt
2008-07-23  7:56                   ` Dmitry A. Kazakov
2008-07-23 21:04                     ` Robert A Duff
2008-07-24  7:07                       ` stefan-lucks
     [not found]                       ` <5ob7w7usrc74$.kms2e1vqs4k0.dlg@40tude.net>
     [not found]                         ` <48883529$0$18826$9b4e6d93@newsspool2.arcor-online.net>
     [not found]                           ` <ygdmhl22lzh4$.1dx98hja6p2o6.dlg@40tude.net>
     [not found]                             ` <48883f41$0$18829$9b4e6d93@newsspool2.arcor-online.net>
     [not found]                               ` <6i1s0y8eeka.121ek9qcgunha$.dlg@40tude.net>
     [not found]                                 ` <48885757$0$18818$9b4e6d93@newsspool2.arcor-online.net>
2008-07-24 12:48                                   ` Dmitry A. Kazakov
2008-07-25  8:47                                     ` Georg Bauhaus
2008-07-25 13:28                                       ` Dmitry A. Kazakov
2008-07-25 16:24                                         ` Georg Bauhaus
2008-07-25 17:55                                           ` Dmitry A. Kazakov
2008-07-26  5:05                   ` Jeff Koftinoff
2008-07-16 14:03     ` Robert A Duff
2008-07-16 14:29       ` 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