[comp.lang.c++] Do class libraries have to be in so

johnson@p.cs.uiuc.edu (11/26/89)

Stephen Bellatoni says
>For, the only reasons to have the source are (1) to look at
>it and (2) to change it. 

>In case (2) you are not re-using code, you are modifying it. If this is 
>neccessary for making the best use of object oriented code, then OO has
>failed in its goal of making code re-usable: it merely makes it easier
>to re-use by encouraging a more structured (i.e. easier to modify) style.

I've heard this argument from a whole bunch of people this year, some of
them quite famous.  Frankly, I'm getting sick of it.  It is totally bogus.
There is nothing magical that separates the case where you have to change
10 lines out of a million from the case where you don't have to change
any.  Reuse is not black and white, and as long as a system lets us save
time and effort and increase quality, we are winners.

Reuse is not an end in itself, but a means to better productivity and
higher quality.  It's not the number of lines you write that counts,
but the quality and cost of the end product.

I am perfectly happy designing reusable softare that requires a little
rewriting most of the time.  Naturally, I prefer to design systems that
don't require any rewriting at all, but reusable software is very hard
to write and usually is the result of a long period of evolution.  As
your software gets more an more mature, you will need to rewrite less
and less of it to reuse it.  Whether the amount you need to rewrite
ever reaches zero is not really that important.

Ralph Johnson -- University of Illinois at Urbana-Champaign