[net.unix-wizards] arg agin shr libs

fostel@ncsu.UUCP (08/11/83)

    Someone suggested the following: a prog is written using a lib subr.
    IF the lib is shared, then the subr code is NOT in the prog.  Sooo
    if the subr is changed the prog will fail to work even though it has
    not changed a whit.

    SO WHAT?  Such software rot is a fact of life.  For my money, I would
    prefer to have my program fail NOW, soon after the change, rather then
    keep a source/binary pair which are a lie.  HuH?  Well, i would rather
    not have a source/binary pair with the property that if you recompile
    it (again no changes at all) it will stop working.   It will with the
    present UNIX libr scheme, since someone will have replaced the libr subr
    in the libr the "cc" look for.

    I think we have a new argument FOR shared libraries.
    ----GaryFostel----

laura@utcsstat.UUCP (08/13/83)

Gary, 
	your conversion of the argument against shared libraries
into an argument for shared libraries does not correspond to the activities
of people I know. I have several programs in my bin that I have not
used for years. I keep them around because, although I may never need
a program that (say) reads a tape that has bad blocks on it, if I ever do,
I will need it *immediately*. The last thing that I need is to discover
that 2 years ago, when the specifications for function X in <stdio.h>
changed, I ought to have changed my program. It would literally take
me hours to check every program I own every time there is a change...

	About a year ago, utzoo got a floating point processor, which
trapped on divide by zero, as opposed to the software simulation which
set the result to zero. Last week, I was at zoo, collecting Henry
Spencer for dinner when someone walked in with a program that had
'stopped working'. Guess what was wrong with it! I believe that in
ten years there will *still* be people who are discovering that
their programs 'suddenly do not work'.

Shared libraries seem like a good idea for *certain libraries* some of the
time. This does not make them a good idea for *all libraries* all of the
time (which some people I know believe). If shared libraries become
common in UNIX, which will probably depend on what hardware most
UNIX systems are on, (dynamic linking on a pdp-11 is hard, on a
NS16032-based machine is relatively easy, and I dont know about a
68000-based machine) someone is going to have to bite the bullet and
put 'version numbers' into the shared libraries. If we end up with
VMS style version numbers, I know many people, including myself, who
will quit doing systems programming on UNIX and find something else
to do with the rest of our lives.

laura creighton
utzoo!utcsstat!laura