Relay-Version: version B 2.10 5/3/83; site utzoo.UUCP Path: utzoo!utgpu!water!watmath!clyde!rutgers!gatech!hao!husc6!mit-eddie!ll-xn!ames!oliveb!pyramid!prls!weaver From: weaver@prls.UUCP Newsgroups: comp.os.vms Subject: Re: Why no system() under VAX C (Really why library dependance) Message-ID: <4382@prls.UUCP> Date: Thu, 18-Jun-87 17:31:57 EDT Article-I.D.: prls.4382 Posted: Thu Jun 18 17:31:57 1987 Date-Received: Sat, 20-Jun-87 01:17:24 EDT References: <8706180833.AA11384@ucbvax.Berkeley.EDU> Reply-To: weaver@prls.UUCP (Michael Gordon Weaver) Distribution: world Organization: Signetics Microprocessor Division Lines: 35 With most of the VMS languages, the libraries are distributed with the operating system. This was not done with VMS C at first, probably because of the number of fixes required on a new product. The disadvantages I see in this is that if a change in a compiler requires a change in the libraries, then a release of the compiler may have to wait for a release of the operating system, and that now the programmer has to think more about the difference between the library calls and the compiler. It sounds like a bug was found too near the release date to hold up VMS. The advantage is that changes in the operating system which require changes in the libraries cause no problem with release dates. My feeling is that there is more dependancies between the libraries and the operating system than between the libraries and the compilers, so fewer problems come up doing things this way. Another reason for tying the libraries to the operating system is to allow more sharing of the code. The libraries for various languages can be combined into shared segments for efficiency, and more of the routines called from the library routines can be shared among the languages. If shared segments were distributed with the language updates, users who do not pay for the compilers but receive binaries (e.g. application programs from third parties) would have to get new shared segments every time they got a new binary created by a different version of the compiler. Also, the shared segments would have to be parted out by language, or there would be even more trouble synchronizing releases. -- Michael Gordon Weaver Usenet: ...pyramid!prls!weaver Signetics Microprocessor Division 811 East Arques Avenue Sunnyvale, California USA 94088-3409 Phone: (408) 991-3450