プログラミングの解説記事を読んでいると、当たり前の顔をして出てくるhogeという単語。
初めて見たとき、私は本気で「ホゲって何かの専門用語か?」と検索しました。出てきた答えは「特に意味はありません」。いや、意味がないなら余計に気になる…。
同じような“謎ワード”は、Web制作の現場にゴロゴロ転がっています。英語圏のサンプルコードに必ずいるfooとbar、デザインカンプに流し込むLorem ipsum、マニュアルの例に出てくるexample.com、暗号の解説に登場するアリスとボブ。極めつけは、みんなが毎日せっせと削除している「スパムメール」の「スパム」です。
どれも普通に使っているのに、由来を聞かれると答えられない。気になって調べてみたら、これが想像以上に面白い世界でした。
国際的な技術文書が大真面目に語源を調査していたり、元ネタが2000年以上前のローマの哲学書だったり、語源になった“ある虫”の実物が博物館に保管されていたり。なんとなく使っていた言葉に、ちゃんと歴史があったわけです。
この記事では、プログラミングやWeb制作の現場に住みついている謎ワード8つの由来を、公式の仕様書や博物館の記録といった一次資料をたどってまとめます。
この手の言葉は「調べても諸説あり」で終わりがちですが、今回は根拠の残っているものを中心に選びました。由来がはっきりしないものは、はっきりしないとそのまま書いています。
コードが書けない人でも楽しめる雑学として並べたので、気軽に読んでみてください。
そもそも「hoge」や「foo」は何と呼ばれている?
本題の前に、この手の単語そのものの呼び名から。
中身に意味のない仮の名前は「メタ構文変数」と呼ばれ、何が入ってもいい場所を示すための“空箱”として使われます。
たとえば、こんなコード。
function hoge(fuga) {
console.log(fuga);
}
hoge('ここに何か入る');
ここでのhogeやfugaに意味はありません。「名前はなんでもいいから、動きのほうを見て」という合図です。
もしcalculateTotalPriceのような立派な名前を付けてしまうと、読む人が「合計金額の計算の話なんだな」と勝手に文脈を作ってしまう。それを避けるために、あえて無意味な単語を置くわけです。地味ですが、けっこう理にかなった文化だと思います。
そして面白いのが、この“空箱”の名前が国によって違うこと。日本語圏ではhoge、英語圏ではfooが定番です。
関連記事:キャメルケース・スネークケース・ケバブケースの違いと使い分けを解説
foo・barの由来は、国際的な技術文書が大真面目に調べていた
まずは英語圏の王様、fooとbarから。
インターネットの技術仕様は「RFC」という文書群で公開されているのですが、その中にRFC 3092「Etymology of Foo」という、fooの語源だけを扱った文書が実在します。2001年4月1日公開、つまりエイプリルフールRFCの伝統に連なる一本です。
書き出しがまた最高で、「200本以上のRFCがfooやbarを説明なしに使っている。この不備を正す」という趣旨で始まります。ジョークの体裁なのに、調査は本気w
たどり着いたのは1930年代のアメリカ漫画
この文書がたどった有力な足跡が、1930年ごろから1950年代前半までアメリカで連載されていた漫画「Smokey Stover」です。作者は自動車のナンバープレートなどに意味不明な「FOO」を書き込むのが好きで、その言葉は中国の置物の底で見つけたものだと語っていたそうです。
これが当時えらくウケて、1930年代後半には全米に500以上の「Fooクラブ」ができたとのこと。何のクラブなんだ…。
第二次大戦中には、イギリス兵の落書き「FOO was here」や、正体不明の飛行物体を指す「foo fighter」という言葉としても広まりました。
コンピューターの世界に入ってきたのは1959年
コンピューター用語としての古い記録は、1959年にMITの鉄道模型クラブがまとめた用語辞典に載っている「Foo」です。ここから技術者の隠語として定着し、1970年代にはメーカーのマニュアルにも登場するようになりました。
相方のbarについては、軍隊のスラング「FUBAR」から分かれたという説が挙げられていますが、こちらは断定されていません。語源探しの文書なのに結論が「諸説ある」で終わるあたりが、逆に誠実で好きです。
日本生まれの「hoge」は、いまだに由来不明
では日本のhogeはどうか。こちらは調べれば調べるほど、はっきりしません。
1980年代にはすでに使われていたという証言はいくつも残っているものの、誰が最初に言い出したのかは特定されていません。複数の人が別々に使い始めた、という説もあります。
「ほげ?」という間の抜けた感嘆詞が元になった、という話もあれば、単に語感が良かっただけという話もある。これだけ全国のプログラマーが毎日使っている単語なのに、出どころが分からないままというのは、なかなかすごいことだと思います。
2つ目以降はfuga、3つ目はpiyoと続くのが慣例です。この並びを見ただけで「あ、日本の技術記事だ」と分かるのが、個人的にはちょっと嬉しい。
ちなみに最近の若い方の書くコードでは、sampleやitem、tempあたりが増えている印象があります。hogeは少しずつ“世代を表す言葉”になりつつあるのかもしれません。
関連記事:パングラムとは?「The quick brown fox」の意味と使われる理由を解説
Lorem ipsumの正体は、2000年以上前のローマの哲学書
デザインの現場でおなじみのダミーテキスト、Lorem ipsum。ラテン語っぽい文字がだらだら続くアレです。
これ、適当に作った偽ラテン語だと思っている方が多いのですが、違います。元ネタは紀元前45年に書かれたキケロの哲学書『善と悪の究極について』で、その一部を切り刻んで並べ替えたものです。
元の一節は「痛みそのものを、痛みだからという理由で愛し求める人はいない」といった意味の文章。ダミーとして流し込まれていたのは、まさかの倫理学の議論だったわけです。
「Lorem」という単語は辞書に載っていない
面白いのが冒頭のLorem。これは「苦痛」を意味するdoloremの途中でぶつ切りにした残りかすで、単語としては存在しません。辞書を引いても出てこないのは当然でした。
この出典を突き止めたのはラテン語の研究者で、それまでは業界の誰も元ネタを知らないまま何十年も使い続けていたそうです。1960年代の写植用シートに載り、その後DTPソフトに採用されて世界中に広まりました。
デザインカンプの中で静かに哲学が語られていたと思うと、次にダミーを流し込むときの気分が少し変わります。
example.comは「使っていい」と正式に決められたドメイン
解説記事やマニュアルでURLの例を書くとき、example.comを使うのはただの慣習ではありません。1999年6月公開のRFC 2606で、文書や例示のために正式に予約されたドメインです。
予約されているのはexample.com、example.net、example.orgの3つ。あわせて、トップレベルドメインの.test(テスト用)、.example(文書・例示用)、.invalid(見るからに無効だと分かる名前用)、.localhost(自分自身を指す用)も押さえられています。
理由はシンプルで、テスト用のコードが手元から外に飛び出したり、例として書いたURLに本当にアクセスが集中したりする事故を防ぐためです。
これ、笑い話ではありません。自社サイトのドメインをそのまま例に使ったマニュアルのせいで、関係のない問い合わせが延々と届く、という話は実際にあります。メールアドレスの例もuser@example.comにしておくのが安全です。
参考:RFC 2606
暗号の解説に必ず出てくる「アリスとボブ」
セキュリティの説明を読むと、ほぼ確実に出会う2人組がいます。メッセージを送るアリスと、受け取るボブです。
この2人が初めて登場したのは、1978年に発表されたRSA暗号の論文でした。「AとB(アリスとボブとも呼ぶ)を、公開鍵暗号の2人の利用者だとする」という一文が出発点です。
それ以前の暗号の論文では、送信者と受信者は「A」「B」という記号で済まされていました。AをAlice、BをBobと読み替えただけ。たったこれだけの工夫で、無味乾燥だった数式の説明が、急に人間くさい物語になったわけです。
その後、キャストはどんどん増えました。通信を盗み聞きする役の「イブ」が代表格で、名前は英語の盗聴(eavesdropper)から来ています。役名と役割が結びついているので、初心者でも図を追いやすい。地味に偉大な発明だと思います。
「バグ」の語源は蛾ではない、という話
不具合を指す「バグ(bug)」の語源として有名なのが、コンピューターに入り込んだ蛾のエピソードです。
1947年9月9日、ハーバード大学の計算機マークIIが誤作動を起こし、原因を調べたら装置の接点に蛾がはさまっていた。技術者たちはその蛾をログブックにテープで貼り付け、記録を残しました。この日誌は現在、スミソニアン協会のアメリカ歴史博物館に所蔵されています。
で、ここからが本題。この蛾は「バグの語源」ではなく、むしろ語源ではないことの証拠になっています。
日誌に書かれた言葉は「バグが見つかった最初の“実物”の事例」。わざわざ“実物”と書いているのは、当時すでに「バグ=不具合」という言い回しが技術者の間で通じていたからです。本物の虫が出てきたから面白がって記録した、というのが実情でした。
実際、「バグ」を小さな不具合の意味で使う用法は、この事件よりずっと前にさかのぼります。エジソンが1878年の手紙の中で「こうした小さな不具合はバグと呼ばれる」と書き残していることが知られています。
いい話として広まりすぎた結果、順番が逆に伝わってしまった例ですね。
迷惑メールが「スパム」になったのは、コメディ番組のせい
バイキングの合唱が会話をかき消す
毎日せっせと削除しているスパムメール。この呼び名の元ネタは、イギリスのコメディ番組「空飛ぶモンティ・パイソン」の1970年放送のコントです。
大衆食堂のメニューがどれもこれもランチョンミート缶「SPAM」入りで、店内のバイキングたちが「スパム、スパム、スパム…」と大合唱を始め、主役たちの会話が完全にかき消されてしまう、という不条理な内容でした。
会話がスパムの連呼で埋もれていく光景が、宣伝メールで議論が埋もれていくネットの状況とぴったり重なったわけです。
缶詰を作っているホーメル社は、この使われ方について公式に見解を出しています。スラングとして使うことには反対しないが、商標である商品名は大文字のSPAM、迷惑メールは小文字のspamで書き分けてほしい、そして製品の画像を迷惑メールの説明に使うのはやめてほしい、という内容です。とばっちりを受けた側としては、実に大人の対応だと思います。
参考:Apache SpamAssassinによる解説(ホーメル社の公式見解を引用)
そもそも「SPAM」という商品名の由来は?
ではSPAMという商品名自体はどこから来たのか。公式サイトのFAQには「長らく詮索の的になっている」と書かれたうえで、有名な説として「spiced ham(スパイスの効いたハム)」の短縮形が挙げられています。
公式が「有名な説では」と書いているところがポイントで、こちらも完全には確定していません。世界一有名になった略語なのに正解が公表されていない、というのはなんだか痛快です。
「ウィキ」はハワイ語で「速い」という意味
最後は、みんながお世話になっている「ウィキ」。
1995年3月25日、ウォード・カニンガムという技術者が、誰でもブラウザからページを書き換えられる仕組み「WikiWikiWeb」を公開しました。これが世界初のウィキです。
名前の由来は本人が語っていて、初めてハワイを訪れたときに空港職員から「ターミナル間はウィキウィキ・バスに乗って」と案内されたのが記憶に残っていたから。ハワイ語の「wiki wiki」は「とても速い」という意味で、思い立ったらすぐ直せるという仕組みの本質を、そのまま名前にしたわけです。
Wikipediaの「ウィキ」も、当然この流れをくんでいます。空港のシャトルバスの名前が世界最大の百科事典の名前になったと考えると、なかなかの出世です。
由来を知ると、身の回りの記号も気になってくる
8つ並べてみて改めて思うのは、技術の世界の言葉は意外と行き当たりばったりで決まっている、ということです。
漫画のギャグ、シャトルバスの案内、コントの合唱、たまたま挟まった蛾。壮大な設計思想から生まれた名前より、誰かの記憶や偶然から生まれた名前のほうが圧倒的に多い。そしてそういう名前ほど、しぶとく生き残っています。
言葉だけでなく、毎日見ている記号やロゴにも同じような物語があります。電源ボタンの丸と棒の意味や、Bluetoothのロゴに隠れた文字などは、知ってしまうともう普通には見られなくなるタイプの雑学です。
関連記事:Bluetoothの名前の由来は北欧の王様!ロゴに隠れたルーン文字の秘密
まとめ
プログラミングやWeb制作の現場に住みついている謎ワード8つの由来を追いかけてきました。
英語圏のfooとbarは1930年代の漫画までさかのぼり、その調査結果が技術文書として残っている。日本のhogeは今も出どころ不明。Lorem ipsumの正体は紀元前45年の哲学書で、example.comは事故を防ぐために正式に予約されたドメイン。アリスとボブは1978年の暗号論文から生まれ、バグの語源は蛾ではなく、スパムはコメディ番組の合唱から、ウィキはハワイ語の「速い」から来ていました。
なんとなく使っていた言葉の裏側には、漫画やコント、空港のバス、たまたま迷い込んだ虫といった、拍子抜けするほど人間くさい物語が眠っていました。
この中で私が一番好きなのは、やはりバグの話です。「蛾が語源」という美談が広まりすぎた結果、事実と逆の順番で伝わってしまった。有名な由来ほど一度は疑ってみる価値がある、といういい教訓になります。
そして実用面で覚えて帰るなら、example.comの話が一番役に立ちます。マニュアルや社内資料でURLやメールアドレスの例を書くときは、思いつきのドメインではなく必ずexample.comを使う。それだけで、見知らぬ誰かに迷惑をかける事故を防げます。
意味のない言葉だと思っていたものにも、たいてい理由がある。そう思って身の回りを眺め直すと、見慣れた画面が少しだけ面白く見えてきます。