Path: utzoo!utgpu!news-server.csri.toronto.edu!rpi!usc!randvax!segue!jim From: jim@segue.segue.com (Jim Balter) Newsgroups: comp.unix.internals Subject: Re: Shared libraries are not necessary Keywords: ISC i386 shared libraries Message-ID: <7627@segue.segue.com> Date: 21 May 91 22:00:09 GMT References: <196@titccy.cc.titech.ac.jp> <1991May16.135009@wsl.dec.com> <202@titccy.cc.titech.ac.jp> <1991May17.075555.29787@Think.COM> <211@titccy.cc.titech.ac.jp> Reply-To: jim@segue.segue.com (Jim Balter) Organization: Segue Software, Inc. - Santa Monica, CA. +1-213-453-2161 Lines: 29 In article <211@titccy.cc.titech.ac.jp> mohta@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.