[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Parodies make everyone mad

Okay, now that I've sent out my little parodies,
let's discuss them a bit.

My point is not that Todd should lighten up on macros;
on the contrary, if anything, I would say he expects
too little of those who define functions.  All too many
programmers *are* really lousy at writing documentation.
A library of procedures or methods can constitute just
as big an extension to a language as a handful of macros.

Where the line is drawn will depend to some extent not
only on the skill level of the programmer but also on
the customs and expectations of the community within
which the programmer functions.  If macros are part of
the customary toolset of a community of programmers
and there are guidelines and expectations about how they
are and are not to be used, and about the level of
documentation needed, then they need not be a problem.
The same is true of classes, procedures, and algebraic
expressions---and there was a time and place in the
history of computers when each of these was regarded with
similar suspicion by some group of (non-stupid) programmers.

Many macros, particularly in the C world, indeed have not
been documented with the level of care and rigorous review
that has been devoted to, say, certain packages of Lisp macros
over the years, IMHO.

--Guy Steele