Relay-Version: version B 2.10 5/3/83; site utzoo.UUCP Posting-Version: version B 2.10 5/26/83; site ihuxm.UUCP Path: utzoo!linus!decvax!harpo!floyd!vax135!ariel!hou5f!hou5e!hou5d!hogpc!houxm!hocda!spanky!burl!sb1!ll1!otuxa!we13!ihnp4!ihuxm!gjphw From: gjphw@ihuxm.UUCP Newsgroups: net.misc Subject: Re: new BYTE on C Message-ID: <403@ihuxm.UUCP> Date: Tue, 9-Aug-83 18:21:02 EDT Article-I.D.: ihuxm.403 Posted: Tue Aug 9 18:21:02 1983 Date-Received: Wed, 10-Aug-83 19:11:54 EDT Organization: BTL Naperville, Il. Lines: 30 The recent comments about the latest BYTE magazine articles concerning the C language are most interesting. While I have not yet read this issue of BYTE, and I am not a C freak, some of the references to the C language can be understood from a historical perspective. C is best understood as an intermediate language, in the class with BLISS, MACRO, and even some versions of the IBM H-level assembler. It does not remove the programmer as far from the hardware as a high level language would (e.g., PL/1), but it also allows versatile data structures. Some ambiguity lies around the criterion for the level of a programming language, and further discussion of where C might fit on the language line must wait for this definition. At the time that C was being developed, the computing world was in the thralls of ALGOL. In ALGOL, the language consists of logical constructs, data structures, and mathematical operations. I/O was considered an implementation feature and left as a function call. It seems that the interpretation of what should be included in the definition of a language and what is an auxiliary function has changed. The net result is as expressed by D. Strick, that there is no practical distinction between the core language and its auxiliary functions. Having said too much, further discussion of this might be better carried on in one of the computer newsgroups, where the heavies dwell! Patrick Wyant Bell Labs (Naperville, IL) *!ihuxm!gjphw