Novice question.

Doug Gwyn gwyn at smoke.brl.mil
Fri Nov 16 21:21:00 AEST 1990


In article <4525 at iitmax.IIT.EDU> gkt at iitmax.IIT.EDU (George Thiruvathukal) writes:
>It is really appalling what can happen when standards groups get their dirty
>paws on something.  I was under the impression that Brian Kernighan and Dennis
>Ritchie designed the C language.  According to the designers of C, an external
>reference is one which occurs "exactly once" and "outside any function."  The
>form presented above for "tentative definition" is an absolutely absurd and
>obscure feature for the insinuation of a forward (or external reference).

It's even more appalling that people will form an opinion without solid
evidence to back it up.  Chris erred in saying that patently correct use
of external linkage was "illegal" according to the C standard.  While
the concept of tentative definition is part of the standard, it was also
inherent in the operation of many existing C compilers, including UNIX
versions.  Thus it has been formalized to work in pretty much the way
that existing implementations were intending all along.  However, the
notion of tentative definition is not one that will be encountered often
in practical programming by people who follow the guidelines of K&R (1st
edition), and definitely the K&R (1st edition) notion of external linkage
was upheld even more strongly by the standard than in actual UNIX C
implementations.

Brian didn't design or implement C, so far as I have ever heard.  That
was originally Dennis's work.  He has in fact publicly praised X3J11's
work on more than one occasion, so your thesis that the language was
damaged by the standards group's "dirty paws" seems rather weak.



More information about the Comp.lang.c mailing list