Relay-Version: version B 2.10 5/3/83; site utzoo.UUCP Posting-Version: version B 2.10.1 6/24/83; site decwrl.UUCP Path: utzoo!watmath!clyde!burl!ulysses!allegra!mit-eddie!genrad!decvax!decwrl!dec-rhea!dec-mrvax!ddb From: ddb@mrvax.DEC (DAVID DYER-BENNET MRO1-2/L14 DTN 231-4076) Newsgroups: net.lang.c Subject: M4 vs C pre-processor Message-ID: <359@decwrl.UUCP> Date: Mon, 28-Jan-85 17:29:46 EST Article-I.D.: decwrl.359 Posted: Mon Jan 28 17:29:46 1985 Date-Received: Wed, 30-Jan-85 08:25:54 EST Sender: daemon@decwrl.UUCP Organization: DEC Engineering Network Lines: 30 The argument that improving the C pre-processor is a waste, because M4 already supports good pre-processing, and that running M4 isn't a problem because MAKE can be taught to do it, only apply to people running C ON UNIX!!!! I believe that the C language is useful in a wider arena than that, and I certainly think that the ANSI standard should define a language that isn't tied to Unix. I, for example, have written a few thousand lines of C code by now, but I've never compiled any of it on a Unix system. The limitations of the pre-processor are especially annoying to me, since I'm used to Macro-20 and Bliss, both of which can do much more. The C pre-processor is missing things which I've always, in my ignorance perhaps, considered basic necessities for any sort of systems-programming language, be it higher-level or assembly: for example, macros with variable numbers of arguments. Unique local symbols within macros. Reasonable conditionals within macros. For that matter, multi-line macro definitions (which can sort of be simulated by an ugly hack in some C compilers but not some of the ones I have to use)! (By the way, one of the innumerable reasons why C is usable as a systems programming language and Pascal isn't is that C has at least a minimal macro and conditional compilation facility. But Pascal is too easy a target, I should lay off it and study Modula 2 for a while; I really WANT strong typing, but only if it doesn't stop me from getting my work done in a moderately clean way.) -- David Dyer-Bennet -- ...decwrl!dec-rhea!dec-mrvax!ddb