TopProgramming Language > 2011年9月
2011年9月27日

PHPやPerlで変数の記号に「$」が使われる理由

September 27,2011 1:55 AM
Tag:[, ]
Permalink

PHPやPerlで変数を定義するとき、当たり前のように先頭に「$(ドル/ダラー)」をつけていますが、ふと、

「変数の前に付ける記号はなぜ『$』なんだろう?」

と思い立ち、そんなことはものの本に書かれているのかもしれませんが、ネットで調べてみました。

ちなみにPerlで「$」を使うのはスカラ変数だけです。

1.「$」はBASIC言語から使われている

BASIC言語では変数の型で文字列を表すときに、次のように「$」を使っています。ただし変数の前ではなく後につけています。

10 READ A$
20 READ B$
30 C$=A$+B$
40 PRINT C$

また「『$』はBASICの名残で使っているようです」という記事をみつけました(ただしVBの話として)。

2.「$」は「ストリング」?

仮にPHPやPerlなどがBASICの名残で「$」を継承していると仮定しても、なぜBASICでは「$」を使っていたのでしょうか。

調べていると、Wikipediaの「Dollar sign」の解説の中に次のような記述がありました。

$ was used for defining string variables in older versions of the BASIC language ("$" was often pronounced "string" instead of "dollar" in this use).

推測の域を超えませんが、「$」という記号は縦棒がなければ「S」になるので、BASICの時代には「$」は文字列(String)を意味する記号として使われていたのかもしれません。

Perlの場合はスカラー(Scalar)の「S」として使っているのかもしれません(推測で書いてます)。

ということで明確な情報が得られていないので、情報お待ちしています。

2011.10.16追記
オライリー「初めてのPerl第5版」のP53に、「Larryの主張は、$calar,@rrayの意味で定義している」旨の記述がありました。

3.Perlの「@」や「%」の由来は?

話がそれますが、Perlの配列変数を示す「@」は「a」に似ているので「Array」を意味しているのかもしれません(これも推測です)。

また、ハッシュ変数を示す「%」は、簡単なハッシュ関数で割り算を利用した余りを使うので、その演算子を示す「%」からきているのでしょうか(もちろん推測です)。

こちらも情報お待ちしています。

4.参考サイト

Comments [0] | Trackbacks [0]
Now loading...
ギターに入った猫
掲載広告募集
Styles
Font Size
Default
For defective color vision
Gray Scale
RGB Color
Search this site

このブログをメールで購読する by:FeedBurner

AMN
Categories
Monthly Archives
2020年
2019年
2018年
2017年
2016年
2015年
2014年
2013年
2012年
2011年
2010年
2009年
2008年
2007年
2006年
2005年
2004年
2003年
BlogPeople
Syndicate this site
FeedBurner(RSS1.0/RSS2.0/Atom)
Counter
これまでのアクセス
Powered by
Movable Type 6.0.3