Shared libraries are not necessary

Jim Balter jim at segue.segue.com
Wed May 22 08:00:09 AEST 1991


In article <211 at titccy.cc.titech.ac.jp> mohta at necom830.cc.titech.ac.jp (Masataka Ohta) writes:
>Your (those who support shared libraries) example of DNS prove that.

If the example offered to support shared libraries doesn't do so,
then it is by definition a bad example and proves nothing.  A bad argument
for something is not a good argument against it.  You are clearly engaging
in rhetorical games.  This likewise has no bearing upon the accuracy of your
position, but will necessarily affect how it is received.

More substantively, there are plenty of examples where the interface is well
defined, and it is possible to make desired changes to the implementation
merely by replacing the library.  Even if I personally had not encountered
many of these, I could easily envisage such scenarios.  But in fact I have
greatly benefited from this facility, as have many others that have distributed
shared libraries.  Anyone who has ever made a kernel change that didn't require
user-level changes (most cases) has benefited in the same way.  Seizing upon
one example that conveniently allows you to argue to death whether the library
change entails a user-level change is sophistry and rhetorical manipulation
that has nothing to do with the technical merits of anything.

>Most software upgrade is a little more complex than can be processed by
>mere library change.

Most software upgrade, in properly designed systems, includes both changes
in implementations for existing interfaces and additions to interfaces.
Incompatible interface changes are to be avoided and generally are.
As long as they are, libraries can be replaced with upward compatible versions
without modifying existing executables.  This is so common a practice that
I am really surprised you are not familiar with it.



More information about the Comp.unix.internals mailing list