hogeってなんだ?

初めて知る用語はできるだけ言葉の意味や由来などと紐づけて覚えるようにしている。

アルファベットの羅列で覚えるよりは、意味や関連用語と一緒に覚えた方が楽だし忘れにくい。というか意味が気になって調べずにはいられないということも多い。

このブログでも、できるだけ読み方や由来を書くようにしている。

さて、今日の本題は、サンプルコードなどでよく見かけるhoge

英単語か何かをもじったものだろうと思ってはいたが、別に覚える必要があるものでもないので今まで調べたことがなかった。

hogeには何の意味もない

結論から言うと、hogeには何の意味もないらしい。

しかし、何の意味もないことこそがhogeの意味だ。

hogeの正体は、サンプルプログラムなどで何も意味がない名称として使われるメタ構文変数というもの。

メタ構文変数(メタこうぶんへんすう、metasyntactic variable)はプログラミング言語の記述で使われる識別子の一種。サンプルプログラムなどで意味のない名前が必要な場合に利用される、「意味のない名前」であることが広く知られた識別子のことである。

メタ構文変数 - Wikipedia

サンプルコードなどで適当に変数名をつけると、本当にそういう変数名にすべきなのか、ただの例なのかわかりにくいため、「意味がない」ことが暗黙の了解となっているメタ構文変数というものがある。

なので、実際のプログラムでは使わない方がいいようだ。

hogeの続き

今回hogeを調べようと思ったきっかけは、piyoというのを初めて見かけたからだ。

hogefugapiyoという変数名が使われていて、これは英語ではなさそうだと思い、一体どういう由来なのかと気になった。

さっきのWikipediaによると、hogefugapiyohogerahogehoge〜と展開していくらしい。

hogeが使われているのは日本だけで、英語圏ではfoobarbazなどが使われる。

なるほど、foobarbazRubyリファレンスマニュアルで見慣れている。

日本では1980年代にはhogeが使われていたらしいが、いつ誰が言い始めたのかは謎。最近の学生はhogeを知らない人も増えているとかいないとか。

やっぱりどう考えても誰かがふざけてつけたとしか思えない(笑)

(参考ページ)