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