あまりの follow-up の遅さが議論の妨げになっていたら
ごめんなさい。fj.unix にクロスポストしておきます。

記事 <coojna$meu$1@caraway.media.kyoto-u.ac.jp> で
吉見 隆 (tak-yoshimi@NOSWENrio.odn.ne.jp)さんいはく

> 語ではないのですが、なぜCでは '@' が使われていないのか、というのが前前
> からの疑問です。
> 
> * 掛け算、ポインタの参照先記号、コメント記号の一部
> & 論理積とポインタ参照元記号
> とかいろいろと使いまわすのに、なぜか'@'は使われない。
> これって、何か歴史的な事情があったのでしょうか。

'@'は昔の Unix では行削除(kill character---現在の
多くの環境では ^U)として使われていました。このように
端末で特別な意味を持つ文字なので自然に使うのを避けた、
というのが私の想像です。

出荷時の設定で行削除が'@'の Unix は最近でもあるはずで、
「パスワードに'@'を含めても意図どおりのパスワードに
ならないよ」という議論がどこかでありました。確か HP-UX
だった気がしますが、うろおぼえで確認できません。


行削除が'@'だった時代、文字削除は'#'だったと思います。
しかしこの記憶が正しければ、こちらはプリプロセッサへの
指示として使われていますね。このことは私には説明が
できません。プリプロセッサの導入は後の時代だったから
でしょうか?


'@'が行削除だったのはいつごろで、Unix のどのバージョン
であったか、どういう端末に向けてのことだったのか等、
歴史に詳しい方の解説を期待します。
-- 
渡邊克宏 http://katsu.watanabe.name