From: crispen@efftoo.boeing.com (crispen)
Newsgroups: comp.lang.ada
Subject: Retracting yet another unintentional flame
Date: 26 Aug 92 21:23:15 GMT
Organization: The Internet

I received an email from Joe Wisniewski (which I wish he'd post to the
group) indicating that I had unintentionally sprouted another flame:

>And if you're using a flat pure-OOD style where everybody can call everybody >else, you might be hosed, too.

I was absolutely *not* saying that this kind of architecture is "good" or
"bad".  I was attempting to say that designs in which types are
mostly declared in specs containing the subprograms that operate on
the types AND in which instantiations of these types are flowing
back and forth between multiple packages, will probably have a
greater number of files to recompile than other kinds of designs.

Note that neither side of the AND is a bad architecture, IMHO.
I have used them both (the former much more than the latter) and have
not felt guilty afterwards.

I am not even saying that ANDing the two together is a bad idea (though
if someone else were to say so, I would probably not write anything to
rebut them).  The *only* issue I want to raise is the necessity for
recompilation.

If someone else wants to say that frequent recompilation of lots of
files is symptomatic of a deeper problem which should have been solved
in design, I will stay right out of that fight.

What I *will* assert is that the hierarchical directory structure I
showed in an earlier post maps pretty well to the software architecture
in a particular domain I'm interested in (i.e., I actually used this
directory structure on a program or two).

In fact, it may map to that domain so well that it might not be as useful
in other domains.  It occurs to me that creating a directory structure
that maps to the software architecture you employ on a program is a
pretty worthwhile activity.

While I'm apologizing for things, I received a note from TeleSoft
indicating that compiling on a Sun certainly does NOT imply that
you're using Verdix.  I do not believe that the person from TeleSoft
will mind if I repeat here his assertion that their compiler allows for
the local libraries that I mentioned as a "good thing" in my earlier
posting.

I also understand that some people may be sensitive about the use or
abuse of "types packages".  Please consider this another domain-specific
issue.  I am certainly not asserting that types packages are either
good things or bad things to have.  I think that there are some domains
in which it is very useful to have access to the types defining the output
interfaces of some component without having to take the operations on
those interfaces along with them.  I also think it's useful to define
frequently-used record types (e.g., position or velocity vectors)
and program-specific substitutes for package Standard types without
having to specify in the same place all the operations that
might be performed on objects of those types.  In fact, defining all
the operations that might be performed on objects of type Normalized
might be beyond my current skills.  But that's just me.  Live and let
live.

Bob Crispen
crispen@foxy.boeing.com
Newsgroups: comp.lang.ada