CTOになるまで続けるブログ

My daily personal tech notes

あなたの知らない foobar の世界

知っていそうで知らない foo, bar(hoge, fuga)について調べてみた。

そもそもこれなに?

プログラミングにおいて、意味のない一時的な名前として使われるもの。 一般に metasyntactic variables と呼ばれていて、日本語ではメタ構文変数と訳される。 日本では、foo, bar の代わりに hoge, fuga が使われることが多い。

その技術仕様については RFC3092 で定義されていて、 使われることの多い foo, bar, baz に始まり、qux, quux, corge, grault, garply, waldo, fred, plugh, xyzzy, thud と続く。 技術仕様と言ってもジョークなので、大した記載はされていない。

https://www.ietf.org/rfc/rfc3092.txt

メタ構文変数は foo, bar だけじゃない

メタ構文変数には地域性があり、日本の hoge, fuga を始めとして各地域(言語?)ごとに方言が存在する。 なお、信憑性や普及率については確認できていない。

|日本|hoge, fuga, piyo, hogera| |イギリス|Wibble, wobble, wubble, flob| |オーストラリア|blep, blah, boop| |フランス|too, tata, titi, tutu| |ポルトガル|fulano, sicrano, beltrano| |スペイン|fulano, mengano, perengano, zutano| |トルコ|falan, filan, hede, hödö|

また、プログラミング言語によっては独自のメタ構文変数を持つものもある。 こちらも、信憑性や普及率については確認できていない。

|Python|spam, ham, eggs| |R 言語|foo, bar, norf|

https://en.wikipedia.org/wiki/Metasyntactic_variable