M4 vs C pre-processor

DAVID DYER-BENNET MRO1-2/L14 DTN 231-4076 ddb at mrvax.DEC
Tue Jan 29 08:29:46 AEST 1985


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



More information about the Comp.lang.c mailing list