From mboxrd@z Thu Jan 1 00:00:00 1970 X-Spam-Checker-Version: SpamAssassin 3.4.4 (2020-01-24) on polar.synack.me X-Spam-Level: X-Spam-Status: No, score=-1.3 required=5.0 tests=BAYES_00,INVALID_MSGID autolearn=no autolearn_force=no version=3.4.4 X-Google-Language: ENGLISH,ASCII-7-bit X-Google-Thread: 103376,63a41ccea0fc803a X-Google-Attributes: gid103376,public From: eachus@spectre.mitre.org (Robert I. Eachus) Subject: Re: Naming of Tagged Types and Associated Packages Date: 1998/07/31 Message-ID: #1/1 X-Deja-AN: 376805729 References: <6pdhfo$1br$1@platane.wanadoo.fr><6pi71p$n90$1@platane.wanadoo.fr><6ppc3q$8ju$1@platane.wanadoo.fr> <6ps2ne$hko$1@platane.wanadoo.fr> Organization: The Mitre Corp., Bedford, MA. Newsgroups: comp.lang.ada Date: 1998-07-31T00:00:00+00:00 List-Id: In article <6ps2ne$hko$1@platane.wanadoo.fr> "Jean-Pierre Rosen" writes: > I do think, and often claim, that one of the big advantages of Ada over > other OO languages is that you can use inheritance at *implementation* level > without using it at specification level; or (like here) have hidden > inheritances, that allow you to break the transitive dependence. I have > therefore much sympathy for the way the example is written; however, we are > discussing naming of classes in the general case here, in the context of > "traditionnal" OO style... > Why would you want to add visibly a facet ? Because this way, if you add new > operations to a facet, they are immediately inherited by all users. If you > instantiate privately, you'll have to add new "interface" routines to all > packages. Granted, this is better from the point of view of encapsulation, > but not from the point of view of flexibility. And the "pure OOP" approach > is most effective in cases where flexibility is considered more important > than encapsulation (but this is another debate). That's why I said we have to leave it here. My style of developing in Ada 95 results in very few "open" types other than those where the descendent types are defined by generic instantiation. Therefore, I am the only person who sees inside the encapsulation. Jean-Pierre has stated several times that he uses a more open style, and explicitly designs expecting much more work to be done by the user of the type rather than the creator. Due to this difference in style, we will always reach different conclusions about how naming should be done. Maybe I can talk Jean-Pierre into my way of designing, but from experience, that is a very slow process. -- Robert I. Eachus with Standard_Disclaimer; use Standard_Disclaimer; function Message (Text: in Clever_Ideas) return Better_Ideas is...