comp.lang.ada
 help / color / mirror / Atom feed
From: "Warren W. Gay VE3WWG" <ve3wwg@cogeco.ca>
Subject: Re: Need advice re package organization.
Date: Fri, 01 Aug 2003 09:01:15 -0400
Date: 2003-08-01T09:01:15-04:00	[thread overview]
Message-ID: <pwtWa.10500$Cx4.995322@news20.bellglobal.com> (raw)
In-Reply-To: <3F299920.9070603@attbi.com>

Robert I. Eachus wrote:

> Warren W. Gay VE3WWG wrote:
> 
>> Is this a show stopper? Well, no. But it has been long
>> recognized in the software industry that information hiding
>> promotes safety.  All I am saying, is that Ada95 seems to
>> lack this feature and it should perhaps be more vigorously
>> discussed ;-)
> 
> If I understand you correctly, what you would like is a syntax for 
> saying that the components of an object can not be modified outside the 
> package hierarchy, but can be read.

I am basically looking for private and protected type class
qualifiers a al (dare I say it), C++.  The problem is that
the entire tagged record (object) is completely visible to
child package code, at times when I wish it wasn't (for
safety's sake). Its a small point, but I only raised it
for general discussion as a minor weakness.

> I can imagine a syntax for doing this, but it wouldn't add any safety. 
> (If nothing else a user could use Unchecked_Conversion to declare a 
> matching type.)

There is no protection for those that are determined to work
around it. There are many ways to defeat protections, and another
way is to break into C code and do what you will. But I am not
worried about that.

In the child package case, I am the one doing the programming (if I
am the author of the parent package). However, what sometimes happens
is that the child package derives from a parent package object, but
still enjoys full visibility of the base type's innards. For some
objects, this is highly undesireable, and leads to unwanted
coupling (leading to unwanted mistakes of reference).
-- 
Warren W. Gay VE3WWG
http://home.cogeco.ca/~ve3wwg




  parent reply	other threads:[~2003-08-01 13:01 UTC|newest]

Thread overview: 38+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2003-07-26 13:08 Need advice re package organization Bobby D. Bryant
2003-07-26 14:25 ` Robert I. Eachus
2003-07-26 15:27   ` Warren W. Gay VE3WWG
2003-07-26 22:00     ` Robert I. Eachus
2003-07-27 22:01       ` chris
2003-07-28  2:53         ` Robert I. Eachus
2003-07-29  4:52           ` Richard Riehle
2003-07-27 22:02       ` Warren W. Gay VE3WWG
2003-07-28  8:38         ` Dmitry A. Kazakov
2003-07-29 17:18           ` Warren W. Gay VE3WWG
2003-07-30  8:42             ` Dmitry A. Kazakov
2003-07-30 21:00               ` Warren W. Gay VE3WWG
2003-07-30 22:46                 ` Randy Brukardt
2003-07-31 16:39                   ` Warren W. Gay VE3WWG
2003-07-31 17:31                     ` Randy Brukardt
2003-07-31 21:00                       ` Warren W. Gay VE3WWG
2003-07-31 22:13                     ` Robert I. Eachus
2003-08-01 12:51                       ` Warren W. Gay VE3WWG
2003-07-31  5:57                 ` Matthew Heaney
2003-07-31 16:57                   ` Warren W. Gay VE3WWG
2003-07-31 22:33                     ` Robert I. Eachus
2003-08-01  2:58                       ` Chad R. Meiners
2003-08-01 13:51                         ` Stephen Leake
2003-08-01 22:15                           ` Robert I. Eachus
2003-08-04 13:45                             ` Stephen Leake
2003-08-01 13:01                       ` Warren W. Gay VE3WWG [this message]
2003-07-31  9:04                 ` Dmitry A. Kazakov
2003-07-31 16:59                   ` Warren W. Gay VE3WWG
2003-07-31 20:41                     ` Randy Brukardt
2003-07-31 21:15                       ` Warren W. Gay VE3WWG
2003-08-01 20:04                         ` Randy Brukardt
2003-08-01 21:33                           ` Stephen Leake
2003-08-04 19:40                             ` Randy Brukardt
2003-08-04 19:52                               ` Stephen Leake
2003-08-05  3:36                   ` Richard Riehle
2003-08-05  4:03                     ` Hyman Rosen
2003-08-05  7:16                     ` Dmitry A. Kazakov
2003-07-26 17:03 ` Nick Roberts
replies disabled

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