[comp.object] Definition of 'reuse'

esink@turia.dit.upm.es (Eric Wayne Sink) (06/14/91)

In comp.lang.ada, Jim Showalter contributes to a discussion on
software reuse :

>My definition of reuse is quite simple: any time you didn't have to write
 ^^^^^^^^^^^^^^^^^^^^^^^^^
>a line of code, you reused it. This may not be the definition of reuse
>people envision when they use the term "reuse", but in the end all that
>truly matters is the COST--a line saved is a line earned. If you treat the
>entire software development process like a black box, then from the outside
>of the box it matters little why the box is more efficient than other
>software development boxes--all that truly matters is that it IS more
>efficient. If the box is more efficient because of "mere" software
>enhancement instead of "pure" reuse, so be it. It degenerates (like so
>many things) into an argument over semantics.
>
[sig deleted]

Anyone like to contribute their definition of 'software reuse' ?

Jim once again exposes his bias by the mere fact that his posting
appeared in an ada newsgroup.  I admit that I expose my own bias
by placing the discussion in comp.object.  Anyone feeling that
a wider discussion involving our friends from comp.software-eng
is encouraged to invite their participation.

I'll assume in advance that if this has already been discussed to
death, then any resulting discussion will be very short.
(or perhaps Piercarlo has a radical opinion which is different
from Ralph's ?? :-)  Sorry- couldn't resist that one, I've just
reread the whole Emperor's new clothes discussion - a comp.object
classic IMHO !)



Eric W. Sink                     | "If no one is criticizing |Opinions
Departamento de Telematica       | your work, it is possible |mine -
Universidad Politecnica de Madrid| that you are not doing    |all of
esink@turia.dit.upm.es           | anything." -George Verwer |them.

jls@netcom.COM (Jim Showalter) (06/15/91)

]>In comp.lang.ada, Jim Showalter contributes to a discussion on
]>software reuse :

]>>My definition of reuse is quite simple: any time you didn't have to write
]> ^^^^^^^^^^^^^^^^^^^^^^^^^
]>>a line of code, you reused it.

]>Jim once again exposes his bias by the mere fact that his posting
]>appeared in an ada newsgroup.

Huh? I posted my definition of reuse to comp.lang.ada because that's where
the thread originated. I have no idea what you mean by "bias". If the thread
had been in soc.men or talk.bizarre or rec.cooking or any other group, my
definition of software reuse would have remained invariant--it's not context
sensitive. Please elaborate.
-- 
*** LIMITLESS SOFTWARE, Inc: Jim Showalter, jls@netcom.com, (408) 243-0630 ****
*Proven solutions to software problems. Consulting and training on all aspects*
*of software development. Management/process/methodology. Architecture/design/*
*reuse. Quality/productivity. Risk reduction. EFFECTIVE OO usage. Ada/C++.    *

diamond@jit533.swstokyo.dec.com (Norman Diamond) (06/17/91)

In article <1991Jun14.103725.2765@dit.upm.es> esink@turia.dit.upm.es (Eric Wayne Sink) writes:
>In comp.lang.ada, Jim Showalter contributes to a discussion on
>software reuse :
>>My definition of reuse is quite simple: any time you didn't have to write
>>a line of code, you reused it.
>
>Anyone like to contribute their definition of 'software reuse' ?

Letting the compiler do the copying instead of doing it in the text editor.

>Jim once again exposes his bias by the mere fact that his posting
>appeared in an ada newsgroup.  I admit that I expose my own bias
>by placing the discussion in comp.object.

He probably just participated in a discussion that he saw going on, and
joined the people who were already talking.  Software reuse would be nice
in any language; does that mean that we should cross-post to comp.lang.*?

>Anyone feeling that a wider discussion involving our friends from
>comp.software-eng is encouraged to invite their participation.

OK, I took up your invitation to invite them.  I didn't put them in the
"Followup-To" line because they're probably bored to death with the topic,
but of course they can edit the followups if they like.
--
Norman Diamond       diamond@tkov50.enet.dec.com
If this were the company's opinion, I wouldn't be allowed to post it.
Permission is granted to feel this signature, but not to look at it.

esink@turia.dit.upm.es (Eric Wayne Sink) (06/17/91)

In article <1991Jun14.231254.8012@netcom.COM> jls@netcom.COM (Jim Showalter) writes:
>
>Huh? I posted my definition of reuse to comp.lang.ada because that's where
>the thread originated. I have no idea what you mean by "bias". If the thread
>had been in soc.men or talk.bizarre or rec.cooking or any other group, my
>definition of software reuse would have remained invariant--it's not context
>sensitive. Please elaborate.
>-- 

No offense intended - just a little pointless teasing.  You make no secret
of the fact that your favorite language is Ada.  I respect your preference,
and am not even qualified to disagree with it, because I don't have much
experience with the language.  You are correct in that you posted your
article in comp.lang.ada because that's where it was.  The "bias" I
refer to is simply your publicly stated preference for Ada over the
current OO languages.  My apologies if the word "bias" carried negative
connotations to you or the net.  Your opinions are yours and they are
respected, at least from where I sit.




Eric W. Sink                     | "If no one is criticizing |Opinions
Departamento de Telematica       | your work, it is possible |mine -
Universidad Politecnica de Madrid| that you are not doing    |all of
esink@turia.dit.upm.es           | anything." -George Verwer |them.

jls@netcom.COM (Jim Showalter) (06/18/91)

Thanks for the explanation! The net is a fine and wonderful thing, but
it is, sadly, limited to the nuance that can be transmitted in ASCII
text. Body language and voice inflection is a lot easier to understand
than ":-)"...
-- 
*** LIMITLESS SOFTWARE, Inc: Jim Showalter, jls@netcom.com, (408) 243-0630 ****
*Proven solutions to software problems. Consulting and training on all aspects*
*of software development. Management/process/methodology. Architecture/design/*
*reuse. Quality/productivity. Risk reduction. EFFECTIVE OO usage. Ada/C++.    *

rick@tetrauk.UUCP (Rick Jones) (06/20/91)

In article <1991Jun14.103725.2765@dit.upm.es> esink@turia.dit.upm.es (Eric Wayne Sink) writes:
>
>Anyone like to contribute their definition of 'software reuse' ?

Well, I can't come up with a slick definition off the cuff, but something I do
find curious, not to say irritating, is that a lot of Object Orients (is that a
word?) seem to think that OO technology has _invented_ reuse.  It may have
invented the word, but not the idea.

We've been _using_ function libraries in C, Fortran, etc. for years - only we
never said we were _reusing_ them.  What OO has done is to add some new
techniques for using the same code for multiple purposes.  I feel that the
whole reuse issue is getting rather over-rated at present.  OO doesn't solve
the problem of building general purpose libraries, on the contrary, it makes it
more difficult.  But if you get it right, then you've got something a lot more
powerful.

I get the impression that a lot of people are trying OO methods and languages
because they believe that reuse is the prime benefit - I think they are going
to be disappointed.  For me, the benfits are increased modularity,
encapsulation, and a more resilient structure.  If you manage those properly,
then you will be able to move on to effective reuse with the aid of experience,
but it doesn't come for free.

As a matter of interest, the most effective aspect of reuse for me in working
with Eiffel has been the existence of libraries of generic classes for data
structures.  This has been far more significant than inheritance as an aid to
productivity.
-- 
Rick Jones, Tetra Ltd.  Maidenhead, Berks, UK		rick@tetrauk.uucp
Chairman, NICE (Non-profit International Consortium for Eiffel)

Any fool can provide a solution - the problem is to understand the problem

adw@otter.hpl.hp.com (Dave Wells) (06/21/91)

From: jgn@nvuxe.uucp (27126-Joe Niederberger(G030)m000)

>It seems to me that software reuse is a (albeit fuzzy) proposed method
>for creating software (a) faster (b) with less bugs (c) with lots of
>other nice qualities...

>Given that, does trying to pin down precise definition for "Software
>Reuse" really help? The "problem" (timeliness, bugs, etc.) remains --
>finding *new* ways to reuse software helps chip away the boundaries of
>the "problem". It seems that old triumphs (OS, DBMS, Compilers, etc.)
>become less interesting to someone trying to chip away at the current
>boundaries of the problem, rather than the boundaries that existed ten or
>twenty years ago. Likewise, novel concepts of reuse today will be boring
>ten years from now. 

The problem is that reuse through the "new" techniques (e.g. generics and
inheritance) is being widely oversold.  Often it is being oversold to those
who haven't yet mastered "the old triumphs" such as DBMSs, or even shared
subroutine libraries. Although clarifying terminology is often tedious and
can become counterproductive, it's the only line of defense against the
snake oil salesmen who give us all a bad name.

>Can an abstract definition of "Software Reuse" capture the ever shifting
>focus of attention? Its like trying to define art -- artists tend to
>care the least about any academic definitions.

This is generally true, but there are exceptions. "Art" has a cultural
definition (albeit with fuzzy and changing outlines) which we currently
lack for many of the concepts in software engineering. Artists who live on
the edge of that definition (e.g. those who produce prints and photographs)
are very, very interested in clarifying the definition of art.

>Joe Niederberger

Dave Wells

dmg@ssc-vax (David M Geary) (06/25/91)

In article <1194@tetrauk.UUCP> rick@tetrauk.UUCP (Rick Jones) writes:
]
]I get the impression that a lot of people are trying OO methods and languages
]because they believe that reuse is the prime benefit - I think they are going
]to be disappointed.  For me, the benfits are increased modularity,
]encapsulation, and a more resilient structure.  If you manage those properly,
]then you will be able to move on to effective reuse with the aid of experience,
]but it doesn't come for free.
]
]As a matter of interest, the most effective aspect of reuse for me in working
]with Eiffel has been the existence of libraries of generic classes for data
]structures.  This has been far more significant than inheritance as an aid to
]productivity.
]-- 

  Although OOP concepts have been around for a long time, it really
  is a "new technology" for most of the programming world.  Any new
  technology (practically) will typically dissapoint the first wave
  of newcomers to use it.

  On the flip side, I think that it's relatively easy for a decent
  programmer, recently schooled in the OOP methodology to write
  reusable code.  Many issues such as when to use inheritance, what
  data to make visible to subclasses, etc. will take some experience
  to iron out, but I still maintain that a good degree of reuse is
  possible right off the bat.

  
-- 
|~~~~~~~~~~       David Geary, Boeing Aerospace, Seattle, WA.       ~~~~~~~~~~|
|-----------------------------------------------------------------------------|
|~~~~~~  Seattle:  America's most attractive city... to the *jetstream* ~~~~~~|
|-----------------------------------------------------------------------------|

davidm@uunet.UU.NET (David S. Masterson) (07/01/91)

>>>>> On 25 Jun 91 14:05:33 GMT, dmg@ssc-vax (David M Geary) said:

DMG> On the flip side, I think that it's relatively easy for a decent
DMG> programmer, recently schooled in the OOP methodology to write reusable
DMG> code.  Many issues such as when to use inheritance, what data to make
DMG> visible to subclasses, etc. will take some experience to iron out, but I
DMG> still maintain that a good degree of reuse is possible right off the bat.

Do you really think that, without that experience, the achieved "degree of
reuse" will be any more than a function library working on well-known data
structures?
--
====================================================================
David Masterson					Consilium, Inc.
(415) 691-6311					640 Clyde Ct.
uunet!cimshop!davidm				Mtn. View, CA  94043
====================================================================
"If someone thinks they know what I said, then I didn't say it!"