comp.lang.ada
 help / color / mirror / Atom feed
From: Alan Lovejoy <alovejoy@concentric.net>
Subject: Re: Interesting but sensitive topic to discuss (HELP: - OOP and CASE tools)
Date: 1996/11/12
Date: 1996-11-12T00:00:00+00:00	[thread overview]
Message-ID: <32890CB7.19B5@concentric.net> (raw)
In-Reply-To: Jan-1211960850510001@news.imagina.com


Jan Steinman wrote:
> 
> In article <32875B03.3729@iconcomp.com>, bill@iconcomp.com wrote:
> 
> > Alan Lovejoy wrote:
> > >
> > > I think you've hit the nail on the head.  I do distinguish between
> "design" and "coding".
> > >
> > > To me, the "design" of a program is a language-independent
> abstraction.  Implementation
> > > inheritance is a coding issue....
> >
> > I'd like to hear more about how you think design can be done
> > independent of language, and what such a "design" would look
> > like...
> 
> The biggest disasters I've seen were designed with the philosophy that the
> implementation vehicle was unimportant. (In fact, the January issue of The
> Smalltalk Report is rumored to have a column on this very topic... :-)
> Conversely, the most successful projects I've seen were ones where the
> designers were well-versed in the implementation language.
> 
> I think it is necessary for the designer to understand -- if not excel in
> -- the implementation vehicle. "Real" architects study civil engineering
> as well as architecture, or else they might design a skyscraper made of
> wood and paper.

My usage of the word "design" in the quote above is being interpreted in a way
other than I intended.  In the context of the earlier posts, it should have been
clear that by "design" I was referring to the objects that exist when the program 
runs, and how they interact.  And I was **defining** the term design as I had
used it, not trying to suggest that the implementation technology is not important,
or that one should not consider such issues when producing a design or implementing
a system!

For a design to be "language independent", it is sufficient that it be implementable 
in any language.  Whether it would be the optimal implementation in each language
is a different (although admittedly important) issue.

So I actually agree with your thesis.

> > I think it is impossible to progress very far from a domain
> > model into design without considering target language...
> 
> Here here!

Well, not **impossible**, just ill-advised.

> > > * When should delegation be used instead of inheritance?
> 
> Hmmm... how do you accomplish *that* in a language independent manner?

Again, I did not suggest that you should.

> Turn it over to a C++ coder, they might consider multiple inheritance,
> turn it over to a Smalltalker, they're going to think of general
> delegation.

Of course.  But the methodology should deal with this issue, and give the right 
answer for each language--or perhaps suggest that the wrong implementation language
is being used for the problem at hand.

> Programming is still a combination of art, craft, and science. Most
> methodologies I've encountered try to force programming entirely into the
> "science" realm. I think that is a mistake.

Yes, but the goal of scientific rigor is a good one.  Recognizing that we aren't
there yet can only be healthy, whether one is a methodology user or a methodology
researcher.

--
Alan L. Lovejoy		|==============================================| 
Smalltalk Consultant	|	Beware of Geeks bearing GIFs!	       |
alovejoy@concentric.net |==============================================|




  reply	other threads:[~1996-11-12  0:00 UTC|newest]

Thread overview: 79+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
1996-11-06  0:00 Interesting but sensitive topic to discuss (HELP: - OOP and CASE tools) Dong Oh Kim
1996-11-06  0:00 ` Paul_Gover
1996-11-06  0:00   ` Alan Lovejoy
1996-11-07  0:00     ` Piercarlo Grandi
1996-11-10  0:00       ` Vlastimil Adamovsky
1996-11-11  0:00         ` Piercarlo Grandi
1996-11-11  0:00           ` Anthony Menio
1996-11-18  0:00             ` Piercarlo Grandi
1996-11-20  0:00               ` Anthony Menio
1996-11-27  0:00                 ` Piercarlo Grandi
1996-11-12  0:00           ` Anthony Menio
1996-11-18  0:00             ` Piercarlo Grandi
1996-11-19  0:00               ` Anthony Menio
1996-11-27  0:00                 ` Piercarlo Grandi
1996-11-10  0:00       ` drs
1996-11-12  0:00         ` Piercarlo Grandi
1996-11-11  0:00       ` Daniel Drasin
1996-11-12  0:00         ` Anthony Menio
1996-11-08  0:00     ` Paul_Gover
1996-11-08  0:00       ` Ell
1996-11-08  0:00         ` Alan Lovejoy
1996-11-13  0:00           ` Ell
1996-11-08  0:00       ` Alan Lovejoy
     [not found]         ` <6KZQfjK-3RB@herold.franken.de>
1996-11-10  0:00           ` Interesting but sensitive topic to discuss (HELP: - OOP and CASE t Chris
1996-11-10  0:00             ` Vlastimil Adamovsky
1996-11-11  0:00         ` Interesting but sensitive topic to discuss (HELP: - OOP and CASE tools) Bill Gooch
1996-11-12  0:00           ` Alan Lovejoy
1996-11-13  0:00             ` Nick Thurn
1996-11-13  0:00             ` Ell
1996-11-14  0:00             ` Bill Gooch
1996-11-19  0:00               ` Tim Ottinger
1996-11-12  0:00           ` Jan Steinman
1996-11-12  0:00             ` Alan Lovejoy [this message]
1996-11-13  0:00               ` Nick Thurn
1996-11-13  0:00                 ` Alan Lovejoy
1996-11-14  0:00                   ` Nick Thurn
1996-11-10  0:00       ` vlad
1996-11-12  0:00     ` Robert C. Martin
1996-11-12  0:00       ` Alan Lovejoy
1996-11-14  0:00         ` David N. Smith
1996-11-14  0:00           ` Bill Gooch
1996-11-20  0:00         ` Robert C. Martin
1996-11-20  0:00           ` Robert Dewar
1996-11-20  0:00           ` Michael Malak
1996-11-20  0:00             ` Robert Dewar
1996-11-26  0:00           ` Tucker Taft
1996-12-03  0:00             ` Robert C. Martin
1996-12-08  0:00               ` Tucker Taft
1996-11-06  0:00   ` Jan Steinman
1996-11-07  0:00     ` Paul_Gover
1996-11-12  0:00     ` Robert C. Martin
1996-11-12  0:00       ` Snowball
1996-11-15  0:00         ` Soren Skogstad Nielsen
1996-11-28  0:00         ` Piercarlo Grandi
1996-11-28  0:00         ` Piercarlo Grandi
1996-11-12  0:00       ` Alan Lovejoy
1996-11-06  0:00   ` Snowball
1996-11-13  0:00     ` Peter Pflaum
1996-11-13  0:00       ` David N. Smith
1996-11-07  0:00 ` Interesting but sensitive topic to discuss (HELP: - OOP and CASE t Joachim Durchholz
1996-11-08  0:00   ` Richard A. O'Keefe
1996-11-09  0:00     ` Piercarlo Grandi
1996-11-13  0:00       ` Richard A. O'Keefe
1996-11-27  0:00         ` Piercarlo Grandi
1996-11-08  0:00 ` Alan Lovejoy
1996-11-08  0:00 ` Joachim Durchholz
1996-11-12  0:00   ` Alaric B. Williams
1996-11-13  0:00   ` Richard A. O'Keefe
1996-11-08  0:00 ` Nick Thurn
1996-11-08  0:00   ` Alan Lovejoy
1996-11-11  0:00     ` Nick Thurn
1996-11-11  0:00       ` Paul_Gover
1996-11-11  0:00         ` Interesting but sensitive topic to discuss (HELP: - OOP and CASE tools) David N. Smith
1996-11-12  0:00           ` Anthony Menio
1996-11-11  0:00         ` Interesting but sensitive topic to discuss (HELP: - OOP and CASE t Anthony Menio
1996-11-08  0:00 ` Jon S Anthony
1996-11-11  0:00 ` Interesting but sensitive topic to discuss (HELP: - OOP and CASE tools) Cesar A. Gonzalez Perez
1996-11-12  0:00 ` Interesting but sensitive topic to discuss (HELP: - OOP and CASE t Joachim Durchholz
1996-11-20  0:00   ` Piercarlo Grandi
replies disabled

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