Newsgroups: comp.lang.c
Path: utzoo!henry
From: henry@utzoo.uucp (Henry Spencer)
Subject: Re: This one bit me today
Message-ID: <1989Oct23.161744.29153@utzoo.uucp>
Organization: U of Toronto Zoology
References: <2651@hub.UUCP> <1651@atanasoff.cs.iastate.edu>
Date: Mon, 23 Oct 89 16:17:44 GMT

In article <1651@atanasoff.cs.iastate.edu> hascall@atanasoff.UUCP (John Hascall) writes:
>    Poor old "@" is just about the only character on the keyboard ignored
>    by C!!  (` is the other)

Historically, `#' and `@' were avoided in the original C because they were
the normal Unix `erase' and `kill' characters of the time.  (This convention
was inherited from Multics, which did things that way because of the need
to support terminals with no unprintable characters, e.g. 2741s.)  The C
preprocessor, added later, used `#' as the least-painful escape out of C.
(I tentatively assume that yacc was already using `$', which otherwise
might have been a good choice -- I'm not sure about the relative timing
of cpp and yacc).

``' did get used a little bit in obscure early implementations of C, and
in fact some compilers will still give you odd-sounding error messages if
one creeps into your source.

Nobody has ever quite gotten around to using `@' in C.
-- 
A bit of tolerance is worth a  |     Henry Spencer at U of Toronto Zoology
megabyte of flaming.           | uunet!attcan!utzoo!henry henry@zoo.toronto.edu
