🚀 go-pugleaf

RetroBBS NetNews Server

Inspired by RockSolid Light RIP Retro Guy

Article View: comp.sw.components
Article #69

Re: Reasons for low reuse

#69
From: William Thomas Wolfe, 2847
Date: Tue, 05 Sep 1989 21:24
57 lines
3714 bytes
From scotth@boulder.Colorado.EDU (Scott Henninger):
> | ("Can Programmers Reuse Software?" IEEE Software, July '87, pp. 52-60)
>  
> [...] It is not clear to me that all of the training in the world will 
> solve the problem.  The problem is twofold (maybe more):  First of all, 
> there are potentially millions of components to choose from.  [...] 

   The first problem that has to be overcome is the Not Invented
   Here syndrome; we must have programmers who want to use components.
   This can be addressed by training (at the university level), and
   also by appeal to management (in the "real world").  Incidentally, 
   the hardware analogy is absolutely wonderful for convincing 
   non-technical managers of the value of reuse; they grasp it
   instantly, and immediately become enthusiastic supporters.

> Secondly, once you've got a component, you must tailor it to your 
> specific needs.  This means understanding the code or some description 
> of the code.  Anyone who has debugged code written by others can attest 
> to just how difficult this is.  

   Wonderful reasons for NOT DOING IT!!!  In particular, components
   should be designed in a generic manner, such that the "customization"
   can be done automatically.  As an example, I manage the Clemson Ada
   Software Repository, which contains ADTs like Generic_Priority_Queue 
   (among others).  The user can dream up a new data type, define a few
   simple operations over the type (such as "=" and assignment), write
   a single line of code to do the instantiation, and voila: the user 
   now has a new data type (a priority queue which can manage objects 
   of the user's new type), and a considerable range of powerful 
   operations over that queue, without ever looking at anyone else's 
   implementation code; the entire process takes a grand total of 
   about 5 minutes.
 
> |   Also, regarding the hardware analogy, it does not draw a direct
> |   correspondence between computer software and computer hardware;
> |   rather, it draws an analogy to the extensive catalogs of ICs, 
> |   resistors, capacitors, etc. used by electrical engineers to build
> |   all kinds of application-specific products.
> 
> Again, this assumes that the components can be used without modification.
> This is not the norm with software, but is with hardware.  Also, we must 
> keep in mind that resistors and capacitors implement one kind of machine.
> For software, we must find the equivalents of resistors and capacitors for
> each domain we write software for.

   Resistors and capacitors are domain-independent, and so it is with
   abstract data types such as B+ trees, linked lists, directed graphs,
   etc.; these are the resistors and capacitors of the software profession.

   There are also special-purpose ICs in the hardware industry, and 
   these are the things which must be developed according to the methods 
   described by Guillermo Arango in his brilliant article on Domain Analysis.
   The software equivalent of a special-purpose IC would be a package 
   containing a set of domain-specific data types, functions, and procedures.   


   Bill Wolfe, wtwolfe@hubcap.clemson.edu
Technical Details
Message-ID: <6392@hubcap.clemson.edu>
Path: arc1-ca.pugleaf.net!utzoo!attcan!utgpu!jarvis.csri.toronto.edu!mailrus!cwjcc!gatech!hubcap!billwolf%hazel.cs.clemson.edu
References: <11347@boulder.Colorado.EDU>

Show Full Headers
Complete Article Headers
Path: arc1-ca.pugleaf.net!utzoo!attcan!utgpu!jarvis.csri.toronto.edu!mailrus!cwjcc!gatech!hubcap!billwolf%hazel.cs.clemson.edu
From: billwolf%hazel.cs.clemson.edu@hubcap.clemson.edu (William Thomas Wolfe, 2847 )
Newsgroups: comp.sw.components
Subject: Re: Reasons for low reuse
Message-ID: <6392@hubcap.clemson.edu>
Date: 5 Sep 89 21:24:56 GMT
References: <11347@boulder.Colorado.EDU>
Sender: news@hubcap.clemson.edu
Reply-To: billwolf%hazel.cs.clemson.edu@hubcap.clemson.edu
Lines: 57