From: "Dmitry A. Kazakov" <mailbox@dmitry-kazakov.de>
Subject: Re: MI in Ada 200X
Date: Sat, 31 May 2003 11:27:34 +0200
Date: 2003-05-31T11:27:34+02:00 [thread overview]
Message-ID: <bb9sdg$78a8t$2@ID-77047.news.dfncis.de> (raw)
In-Reply-To: b0IBa.494$78.11159@news.siol.net
Karel Miklav wrote:
> Dmitry A. Kazakov wrote:
>> Wesley Groleau wrote:
>>>>>Mário Amado Alves wrote:
>>>>>
>>>>>>Everybody wants class MI. The reasons it was left out of Ada 95 and
>>>
>>>I don't!
>>
>> OK. Bill Gates once said that nobody would need more than 64K RAM. Or was
>> it 640K? I do not remember. Anyway, never say never. (:-))
>
> I don't see how this is related to MI. What do you think about the
> diamond problem and other evils of MI?
Incest? A bad thing, you know. However, I would not call a problem anything
that can be detected at compile-time. Anyway we have a lot of
diamond-things in present Ada. Consider:
with Ada.IO_Exceptions;
package B is
End_Error : exception renames IO_Exceptions.End_Error;
...
end B;
with Ada.IO_Exceptions;
package C is
End_Error : exception renames IO_Exceptions.End_Error;
...
end C;
with B; use B;
with C; use C;
procedure D is
...
exception
when End_Error => -- which End_Error?
exception renaming is not 'renaming', but a new view. In C++ terms it is
sort of "B : public A", not "B : public virtual A" (as a naive programmer
might think).
> Besides, where do or would you use this feature?
First from the stack: to make a stream object controlled. (*)
> MI might look like a good idea in a simple project, but when things
> start to get messy and you're caught into inheritance net, you can
> forget who your own mother is :) I vote NO for MI and other inventions
> of marketing departments but YES for interfaces.
(*) Ada.Streams.Root_Stream_Type is not a [public] descendant of
Ada.Finalization.Limited_Controlled.
--
Regards,
Dmitry A. Kazakov
www.dmitry-kazakov.de
next prev parent reply other threads:[~2003-05-31 9:27 UTC|newest]
Thread overview: 73+ messages / expand[flat|nested] mbox.gz Atom feed top
2003-05-23 23:05 Suggestion for Ada 200x - Interface inheritance Steve
2003-05-24 1:02 ` Robert A Duff
2003-05-29 16:47 ` Brian Gaffney
2003-06-01 10:29 ` Craig Carey
2003-05-24 12:35 ` Wojtek Narczynski
2003-05-24 17:53 ` Georg Bauhaus
2003-05-25 13:11 ` Wojtek Narczynski
2003-05-24 22:07 ` Robert A Duff
2003-05-25 14:12 ` Wojtek Narczynski
2003-05-25 17:53 ` Jeffrey Carter
2003-05-25 18:47 ` Wesley Groleau
2003-05-25 19:42 ` Hyman Rosen
2003-05-26 7:53 ` Wojtek Narczynski
2003-05-26 15:50 ` Hyman Rosen
2003-05-27 18:41 ` Wojtek Narczynski
2003-05-27 18:55 ` Wesley Groleau
2003-05-27 19:13 ` Hyman Rosen
2003-05-28 13:07 ` Wojtek Narczynski
2003-05-28 13:28 ` Jean-Pierre Rosen
2003-05-29 0:58 ` Hyman Rosen
2003-05-28 22:13 ` Robert A Duff
2003-05-28 23:50 ` Hyman Rosen
2003-05-29 9:17 ` Dmitry A. Kazakov
2003-05-29 13:31 ` Wojtek Narczynski
2003-05-26 7:51 ` Wojtek Narczynski
2003-05-25 1:33 ` Steve
2003-05-25 10:37 ` Simon Wright
2003-05-26 7:54 ` Jean-Pierre Rosen
2003-05-26 10:07 ` Preben Randhol
2003-05-26 16:32 ` Pascal Obry
2003-05-26 16:59 ` Preben Randhol
2003-06-01 10:53 ` Craig Carey
2003-06-01 12:17 ` Preben Randhol
2003-05-26 7:49 ` Jean-Pierre Rosen
2003-06-02 9:01 ` Wojtek Narczynski
2003-05-28 13:57 ` MI in Ada 200X (was: Suggestion for Ada 200x - Interface inheritance) Mário Amado Alves
2003-05-28 15:05 ` Preben Randhol
2003-05-29 0:54 ` MI in Ada 200X Hyman Rosen
2003-05-29 17:38 ` Stephen Leake
2003-05-30 7:20 ` Preben Randhol
2003-05-29 9:17 ` MI in Ada 200X (was: Suggestion for Ada 200x - Interface inheritance) Dmitry A. Kazakov
2003-05-29 22:56 ` MI in Ada 200X Hyman Rosen
2003-05-30 7:39 ` Dmitry A. Kazakov
2003-05-30 13:11 ` Hyman Rosen
2003-05-30 14:29 ` Robert A Duff
2003-05-30 14:51 ` Hyman Rosen
2003-05-30 15:11 ` Mark A. Biggar
2003-05-30 15:51 ` Hyman Rosen
2003-05-30 22:38 ` John Griffiths
2003-05-30 2:50 ` Wesley Groleau
2003-05-30 7:38 ` Dmitry A. Kazakov
2003-05-30 12:20 ` Karel Miklav
2003-05-30 12:59 ` Hyman Rosen
2003-05-30 14:02 ` Georg Bauhaus
2003-05-30 14:04 ` Lutz Donnerhacke
2003-05-30 18:45 ` Georg Bauhaus
2003-05-30 15:02 ` Hyman Rosen
2003-05-30 19:14 ` Georg Bauhaus
2003-05-30 19:40 ` Hyman Rosen
2003-05-30 19:31 ` Wojtek Narczynski
2003-05-30 22:42 ` John Griffiths
2003-05-31 9:27 ` Dmitry A. Kazakov [this message]
2003-05-31 13:53 ` Martin Krischik
2003-06-01 9:18 ` Dmitry A. Kazakov
2003-05-30 8:28 ` Mário Amado Alves
2003-05-30 8:46 ` MI in Ada 200X (was: Suggestion for Ada 200x - Interface inheritance) Preben Randhol
2003-05-31 10:17 ` Dmitry A. Kazakov
2003-05-31 13:48 ` Preben Randhol
2003-05-31 17:21 ` Dmitry A. Kazakov
2003-05-29 0:54 ` MI in Ada 200X Hyman Rosen
2003-05-29 2:13 ` MI in Ada 200X (was: Suggestion for Ada 200x - Interface inheritance) Robert I. Eachus
2003-05-29 12:06 ` Mário Amado Alves
2003-05-31 19:58 ` Chad R. Meiners
replies disabled
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox