Relay-Version: version B 2.10 5/3/83; site utzoo.UUCP Posting-Version: version B 2.10 5/3/83; site utzoo.UUCP Path: utzoo!henry From: henry@utzoo.UUCP (Henry Spencer) Newsgroups: net.misc Subject: Re: new Byte on C Message-ID: <3137@utzoo.UUCP> Date: Sat, 6-Aug-83 23:44:02 EDT Article-I.D.: utzoo.3137 Posted: Sat Aug 6 23:44:02 1983 Date-Received: Sat, 6-Aug-83 23:44:02 EDT References: floyd.1874, <223@idis.UUCP> Organization: U of Toronto Zoology Lines: 23 Claiming that the definition of C does not include things like "printf" is both theoretically defensible and thoroughly silly. Sure, you can define a C without such things -- but it's useless. No simple string operations, no i/o, etc... In most other languages, these things ARE part of the basic language, and rightfully so. Thanks to Dennis Ritchie's abilities as a language designer (plus some good luck in places), these things can be defined as (more or less...) ordinary C functions, and hence don't need to be built into the very language. But that doesn't make them any less necessary. These things are no more -- and NO LESS -- wired into the basic definition of C than, say, the "ls" program is wired into the basic definition of Unix. In theory, it's a side issue; practically, the functionality is necessary, and it's silly to add gratuitous differences in the way that functionality is invoked. Even Whitesmiths has (I'm told) recently toed the line by offering an i/o library with the standard names. In short, if your programs won't compile, then you really don't care about nit-picking distinctions between "standard C" and "standard C with the standard C library". For most practical purposes, the library is part of the language. -- Henry Spencer @ U of Toronto Zoology {allegra,ihnp4,linus,decvax}!utzoo!henry