Path: utzoo!attcan!utgpu!jarvis.csri.toronto.edu!rutgers!apple!oliveb!amdahl!twg-ap!dwh From: dwh@twg-ap.UUCP (Dave Hamaker) Newsgroups: comp.lang.c Subject: Re: Why are @, `, and $ not used in C? Message-ID: <364@twg-ap.UUCP> Date: 21 Sep 89 03:33:02 GMT References: <509.nlhp3@oracle.nl> Organization: The Wollongong Group, Palo Alto, CA. Lines: 28 From article <509.nlhp3@oracle.nl>, by bengsig@oracle.nl (Bjorn Engsig): > By mistake, I just typed a define as VALUE@ in stead of VALUE2, and I > realised that it didn't look like C at all. A quick glance on my keyboard > shows three characters, @, `, and $ that cannot be used in C outside of > strings. Is there any historic reason for that? > > I know that $ is often allowed in identifiers so that is ruled out, but > couldn't @ and/or ` have been used for something useful. > -- > Bjorn Engsig, bengsig@oracle.nl, bengsig@oracle.com, mcvax!orcenl!bengsig I'd guess the non-use of @ is connected with its use as the Unix line-kill character which has fallen into disuse in these days of CRT terminals (even though @ is often still the default kill character). Ironically, the # is used in C when it had a similar role as the erase editing character; maybe the preprocessor came second. ` and $ might have something to do with the original Ascii having different graphics for ` and _ (up arrow and left arrow, I think). _ could have replaced $ use in identifiers and ` may not have had enough potential use to get added later on (besides the potential confusion with '). These are possible historical reasons but they're not authoritive. Someone else may know. -Dave Hamaker The Wollongong Group ...!amdahl!twg-ap!dwh dwh@twg.com