comp.lang.ada
 help / color / mirror / Atom feed
From: shebs@utah-cs.UUCP (Stanley Shebs)
Subject: Re: Software Reuse  --  do we really know what it is ?
Date: Mon, 22-Jun-87 11:40:19 EDT	[thread overview]
Date: Mon Jun 22 11:40:19 1987
Message-ID: <4658@utah-cs.UUCP> (raw)
In-Reply-To: 374@sol.ARPA

In article <374@sol.ARPA> crowl@rochester.UUCP (Lawrence Crowl) writes:
>In article <371@dcl-csvax.comp.lancs.ac.uk>
>craig@comp.lancs.ac.uk (Craig Wylie) writes:
>>1.	We don't really know what it is.
>
>Well, I find a glimering of re-use in reading Knuth's books.  I will point at
>an analogy though.  Board level designers constantly use circuits designed by
>others.  They are packaged in integrated circuits.

An interesting analogy.  It says a lot about prevailing software culture:

1. Available chips do not always meet requirements exactly.  For instance,
a board might need 3 NAND gates, but the 7400 has 4.  EEs just ignore the
extra gate, or tie its pins to something stable.  In a similar situation,
software people fume and gnash their teeth over "wasted space".

2. Running wires around boards loses some performance, relative to cramming
everything onto a single chip.  All the techniques for modules, objects, etc,
tend to slow things down.  Again, software types tear their hair out and
vow to recode everything into one assembly language procedure.  Worse, other
software types admire them for doing so!  Come to think of it, the advent
of VLSI tools promotes the same idea for hardware, and we're seeing lots of
specialized chips these days...

>>3.	Languages such as Ada and Modula-2, and imperative languages in
>>	general are unsuitable for writing reusable software because of
>>	their concentration on the HOW rather than the WHAT.
>
>Clearly, we need more concentration on WHAT, but we should not abandon the
                                                  ^^^^^^^^^^^^^^^^^^^^^^^^^
>efficiency of HOW.
 ^^^^^^^^^^

QED!

3. In general, hardware types have standards for every imaginable sort of
interface, and they stick to them remarkably well.  You can plug boards into
a standard bus with only a small chance of sparks flying everywhere as the
boards fry.  In software, standards are strictly for lip service to managers;
only a novice would consider combining programs from several different
sources without planning a few hours or days of debugging!

In short, I believe there are no technical problems or issues with reuse;
it's the software culture that has to change.  At present, the prevailing
attitude is that the densely-coded, highly-optimized, do-everything program
is a sort of ideal to which everyone aspires.  Until this attitude changes,
software reusability will continue to be a bad joke among those who actually
write programs.

>>5.	Nobody can force programmers to write good reusable code.
>
>True.  But no one need buy code that is not both good and reusable.  I believe
>there is a market for such code.

Manufacturers seem to think their interest is in maintaining secrecy of code.
Customers only care about speed and features.  Read Infoworld and see if they
ever say anything positive about a program that is slower but more modular.

>  Lawrence Crowl		716-275-5766	University of Rochester

							stan shebs
							shebs@cs.> ie do-r

  reply	other threads:[~1987-06-22 15:40 UTC|newest]

Thread overview: 14+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
1987-06-16  1:55 comments on Ed Berard's S/W reuse part 5 CONTR47
1987-06-18  8:46 ` Software Reuse -- do we really know what it is ? craig
1987-06-22  0:50   ` Lawrence Crowl
1987-06-22 15:40     ` Stanley Shebs [this message]
1987-06-22 18:59       ` Lawrence Crowl
1987-06-23 17:28         ` Stanley Shebs
1987-06-29  9:16           ` Software Reuse -- do we really know what it is ? (long) Ian Dickinson
1987-07-04 21:19             ` John B. Nagle
     [not found]             ` <glacier.17113>
1987-07-07  2:21               ` Software Reuse (short title) pase
     [not found]           ` <titan.668>
1987-07-06  5:28             ` Software Reuse -- do we really know what it is ? (long) David C. DiNucci
1987-07-07 15:18               ` Automatic implementation of abstract specifications debray
1987-07-09 22:40                 ` Automatic implementation of abstrac ron
1987-07-14 16:00                 ` Automatic implementation of abstract specifications Edward Hayes
1987-07-02  7:55 ` Software Reuse -- do we really know what it is ? Drew Adams
replies disabled

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