Relay-Version: version B 2.10 5/3/83; site utzoo.UUCP Posting-Version: version B 2.10 5/3/83; site cbosgd.UUCP Path: utzoo!linus!decvax!harpo!eagle!hou5h!hou5a!hou5d!hogpc!houxm!ihnp4!cbosgd!mark From: mark@cbosgd.UUCP Newsgroups: net.lang Subject: Re: I/O operations in programming languages Message-ID: <262@cbosgd.UUCP> Date: Wed, 31-Aug-83 10:45:22 EDT Article-I.D.: cbosgd.262 Posted: Wed Aug 31 10:45:22 1983 Date-Received: Thu, 1-Sep-83 05:29:47 EDT References: <666@mit-eddie.UUCP>, <110@csd1.UUCP> Organization: Bell Labs, Columbus Lines: 30 In reply to Michael Condict's "proofs" that C has I/O: I challenge you to find any reference to printf or any other I/O operation in the C Reference Manual. (That's the appendix to the C book, for example.) The C language simply does not have I/O as a defined part of the language. There is something called the "standard I/O library" which nearly every implementation of C has. This includes fopen, , printf, and a couple dozen other routines. There are implementations of C that don't include this (Idris comes to mind, as well as V6, which had a different "portable C library" that flopped), but the current de facto standard is that you get a C compiler AND stdio. (In fact, most implementations go one step further and provide something called "the C library" which was originally supposed to be UNIX specific. This includes string operations, routines like open, read, write, and lseek that deal with small integer file descriptors, and command line parsing implementing the UNIX argc/argv notion and < and > redirection.) This does not make them part of the language. It just means that in order to use C, you need both a compiler AND a library. This is in contrast to FORTRAN, where I/O and a set of built in functions are defined in the manual to be part of the language. Claiming that if you don't have I/O in the language you have a language of only theoretical interest is silly. It assumes you can't put tools together. Kind of like saying that since Goodyear makes tires, if Goodyear doesn't make things to put the tires on (e.g. cars) then Goodyear products are of only theoretical interest.