Relay-Version: version B 2.10 5/3/83; site utzoo.UUCP Posting-Version: version B 2.10.1 6/24/83; site mit-eddie.UUCP Path: utzoo!linus!decvax!genrad!mit-eddie!smh From: smh@mit-eddie.UUCP (Steven M. Haflich) Newsgroups: net.lang Subject: Re: Does C have I/O, or doesn't it? Message-ID: <687@mit-eddie.UUCP> Date: Wed, 31-Aug-83 09:13:08 EDT Article-I.D.: mit-eddi.687 Posted: Wed Aug 31 09:13:08 1983 Date-Received: Thu, 1-Sep-83 03:44:14 EDT References: <425@houxq.UUCP> Organization: MIT, Cambridge, MA Lines: 20 An important side issue to the desirability of excluding or including the notion of I/O in a language is ease of portability of the compiler itself. There is some correlation between the "size" of a language, the size of its compilers, and ease of porting the compiler to a new machine. (Of course, the effects of machine architecture on the code generator may swamp this connection!) As silicon foundries get more versatile, the frequency with which new machines appear and require compiler ports may increase. The smaller the language, all else being equal, the easier the port. Compare the size of your favorite C, FORTRAN, and Pascal grammars. I remember once being unable to yacc and compile the V7 F77 grammar on an 11/34, but you can count the reserved keywords in C on the fingers and toes of one "real programmer" with some left over. Please, no flames! I know modern compiler writing techniques have made porting much easier, but it is still an issue. Remember that much of the stdio library is in C and survives OS ports with at least some useful code intact (e.g. printf). Steve Haflich, {genrad,mit-vax}!mit-ems!smh