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