Path: utzoo!attcan!utgpu!jarvis.csri.toronto.edu!mailrus!cs.utexas.edu!rutgers!mcnc!rti!xyzzy!tiktok!meissner From: meissner@tiktok.dg.com (Michael Meissner) Newsgroups: comp.lang.c Subject: Re: Why are @, `, and $ not used in C? Message-ID: <1326@xyzzy.UUCP> Date: 25 Sep 89 14:49:10 GMT References: <509.nlhp3@oracle.nl> <364@twg-ap.UUCP> Sender: usenet@xyzzy.UUCP Reply-To: meissner@tiktok.UUCP (Michael Meissner) Organization: Data General (Languages @ Research Triangle Park, NC.) Lines: 35 In article <364@twg-ap.UUCP> dwh@twg-ap.UUCP (Dave Hamaker) writes: | 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 First of all, it's amusing that a European, rather than a resident of the United States is asking why all of the national language characters ($, @, #, et. al.) aren't used. | 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 '). It's been at least 10 years since I used a version 6 PDP-11, but I seem to recall dimly that the backspace character lost it's special meaning when it was on the first column, which is why the preprocessor required # in the first column (ie, you didn't have to quote it in that position). -- Michael Meissner, Data General. Uucp: ...!mcnc!rti!xyzzy!meissner If compiles were much Internet: meissner@dg-rtp.DG.COM faster, when would we Old Internet: meissner%dg-rtp.DG.COM@relay.cs.net have time for netnews?