ほげほげ考察、ぽうぽう反論、もごもご提唱
◆新年のご挨拶
大変遅くなりましたがあけましておめでとうございます。森姫です。
年始は東京で過ごしましたので、人生で初めて「花園神社」に行ってみたのですが、さすが都会ですね。何時間待ちになるか分からないぐらいの行列ができていたので、早々に帰宅しました。
そして先ほど(15日夕方)にあらためて花園神社に行きましたところ、嘘のようにすいていたので、1人寂しく初詣を終わらせてきました。花園神社は学芸などの神様で有名だそうで。良い1年になることを願ってなりません。
さて、年始のご挨拶はこれぐらいにいたしまして、本日のコラムです。
◆「ぽうぽう」を提唱した壁画系男子に宣戦布告
新年早々、Anubisさんの「ぽうぽう」というコラムが編集部どころかTwitterを騒然とさせたらしいのです。
余談ですが、Anubisさんのアイコンが「壁画」(歴史とかに出てくる壁に書かれた絵)に似ているので、最近流行の○○系男子にカテゴライズして、「壁画系男子」と勝手に呼んでいます。
さて、ぽうぽうというコラムの概要ですが、壁画系男子Anubis氏は開発現場などで使われる「ほげほげ」に対抗し、「次世代のほげほげ」として「ぽうぽう」を提唱された、ということだそうです。
まったく斬新なコラムに私も驚愕してしまいましたが、ぽうぽうと入力する際に1つの違和感を覚えました。
どうにもこうにも、打ちづらい。
だから私は壁画系男子に宣戦布告します。「ぽうぽうは打ちづらい。ほげほげの代わりになるもの、それは……」
「もごもご」だ!!
◆理屈の前に少しほげほげについて考える
何気なくつかっている「ほげほげ」について少し調べてみました。
プログラマのように書くと「hogehoge」なのですが、類義語として「piyo」「hoge」「fuga」「hogera」などが存在します。
プログラミングで使われる、これら意味のない言葉にはちゃんと、「メタ構文変数」という名前がついています(詳しいことはWikipediaあたりをご覧ください)。
メタ構文変数は識別子の一種で、意味がない名前が必要とされる場合に使用される「意味のない言葉」です。
意味がない言葉に意味のある言葉(メタ構文変数という名前)がついているのはなにか奇妙な気もしますが、まぁ、総称した名前があったほうが便利ですよね。
プログラミングの教科書などには「サンプルプログラム」というものがだいたい付属されているので、そこで変数名として「hogehoge」などのメタ構文変数が使われることが一般的です。
ご存じの方も多いと思うのですが、変数名をつけるときには「用途が分からないといけない」という決まりと、「他の予約語」(privateやintなど、プログラミング言語で型名として使用されている言葉)とは異なるものでなくてはいけないという決まりがあります。
しかし、サンプルプログラムでは、解説のために「ある程度無駄のあるプログラム」を提示するときがあります。
そのときに、意味の無い駄目な変数名の名づけとして、hogehogeが使用される場合もあります。
hogehogeでは用途も分からず、予約語でもないのです。
また、hogehogeが使用されるのは口頭でもけっこうあります。例えば、誰かにプログラムの解説をするときに、とっさにクラス名が名づけられず、「例えばこういうもの」という意味として、「例えば、こういうhogehogeクラスを作って……」というように会話で使用されます。
◆hogehogeの誕生秘話を考える。
さて、hogehogeの名称と使用用途はお分かりいただけましたでしょうか?
では、なぜ「hogehoge」という言葉が一般的なのか。こちらについても少し調べてみたのですが、残念なことに発祥についての明確な文献は存在しませんでした。
ここからは私の勝手な推測ですが……
まだ、プログラミングがそんなに一般化していないころ、ある1人のカリスマプログラマ(もしくはとても地位のあるプログラマ)がプログラムを書いているうちに、意味のない変数名の命名に行き詰まり、適当に「hogehoge」を入力した。
そしてそれを修正することなく世に出してしまった。
他の人はもちろん「hogehogeってなんだ?」と思ったのですが、まぁ、カリスマが使用しているのできっとすごい意味を持つのだろうということで、後輩や同僚はプログラムの写経の際にhogehogeを使用。
こうして、写経……つまりコピーを繰り返していくうちに、hogehogeが一般化してしまった。
いつのまにか一般化し、プログラマの流行語大賞として「hogehoge」がノミネートされ、表彰されてしまい、「hogehoge」創設者であるカリスマは驚愕します。
インタビュアーに意味を聞かれて、困惑。みんな、hogehogeの意味を知りたいのです。そこで放った言葉が「hogehogeは、英語のfooやbarと同じだ!」という苦し紛れの言い訳。カリスマの言うことはまた世に知れ渡り、「意味のない変数名をつけるときはhogehogeを使用するのがCool!」という歴史が出来上がったのです。
1人だけ、「でも、なんで『hogehoge』という言葉なんですか?」と聞いたインタビュアーがいました。
頭の回転が早いカリスマは答えました。
「あなたはブラインドタッチはできますか? hogeとタイピングしてみなさい。どうですか、とても打ちやすいでしょう? なぜ打ちやすいかというと、キーの配置にあります。qwertyキーボードの配列は一般的に、よく使われる子音は中央に集中しています。そして、子音を打った後にすぐ押せる位置に母音があります。よく使われる言葉は、打ちやすい位置にあります。hogeのhとgはまさに中央にあります。そして対照的にoとeは左右に。hoは右でタイピング、geは左手でタイピングするとどうですか。とても打ちやすいでしょう。右と左を交互に使うのはとてもバランスがよいことなのです。そこで、hogeを2回打ってみましょう。hogehogeと。実にリズミカルではありませんか? ですので、hogehogeという言葉を私は使用したのです。おそらく、この言葉以上に打ちやすい言葉は存在しないでしょう」
もちろん、この言葉にはなんの根拠もないのですが、そういわれるとたしかに打ちやすいのです。納得したインタビューアーはそのまま去っていきました。
そして、そんなこんながありながら、残ったのは「hogehoge」という使いやすい言葉。この言葉は「メタ構文変数」と名づけられ、派生したほかの言葉とともにカテゴライズされました。
これが、hogehogeの成り立ちです。といえるとかっこいいのですが、先述したとおりhogehogeの成り立ちについては証拠が残っていないので上記の歴史はわたしの勝手な妄想です。
でも、おそらくそのような形だと思います。語呂がいいので名づけてしまって、勝手に浸透してしまった。というのが当たらずとも遠からず、ではないでしょうか。
◆では、あらためて「次世代ほげほげ」を考える
前置きが長くなってしまいましたが、今回のコラムは「ぽうぽう」に対抗するものを考えるという趣旨です(そうだったのか!)。
hogehogeの成り立ちを調べた上で考え出したのが、冒頭に書きました。
「もごもご」という言葉です。
「ぽうぽう」は片手で打てる気軽なものだと壁画系男子は言っています。
「もごもご」はほげほげのキー配置と似ています。ゆえにほげほげのように打ちやすい言葉なのです。ぽうぽうは右手で2回打たないといけないので、少し時間がかかってしまいます。
右手だけだとバランスをとるのが難しいのです。
「もごもご」は両手を使用します。ゆえにとても打ちやすい言葉なのです。
そして「ほげほげ」と「ぽうぽう」と「もごもご」これらに共通するのは、語感が「なんとなく間が抜けていて、かわいく見える」という癒し系要素を含んでいるということです。では、日本語でなく、ローマ字でタイプするとどうでしょう。
hogehoge
popupou
mogomogo
断然、「もごもご」は打ちやすいのです。もちろん、予約語ではないので変数名としては合格です。
◆もごもごの落とし穴
しかし、「もごもご」は「ぽうぽう」より劣る箇所が1点あります。
「意味がありそうに聞こえる」ということです。
もごもごというと、なにか食べているようなイメージがします。しかし、ぽうぽうはなにも連想させるものがありません。
この点では、「もごもご」は「ぽうぽう」に勝てないのです。
ですが、どちらの言葉も「次世代ほげほげ」としてはふさわしい言葉だと私は考えます。「ほげほげ」に飽きたら「ぽうぽう」や「もごもご」を使用してみるのはいかがでしょうか。
ただし、使用する際には本来の意味である「意味のない識別子」であることをお忘れなく。要するに、実務で使ってはいけません、ということです。
◆「jojo」は男性用、では、女性は……?
壁画系男子は「jojo」はどうだろうと書いていましたが、この意味が通じるのはごく一部です。
jojoという言葉はおそらくコミック『ジョジョの奇妙な冒険』を指しているのでしょうが、残念ながら私はジョジョについて何もしりません。なので、和み要素がどこにもないのです。
ジョジョについて、同僚の女性に聞いてみたところ「名前だけ知っているけど、内容は知らないから分からない」とのこと。
なので、女性にはjojoは向いていないかと思われます。
そこで、私なりに「jojo」の代わりを考えてみました。女性版の「jojo」でしょうか。
もちろん、hogehogeと同じように「使いやすく、同じ言葉が2回続くもの」でなくてはなりません。
女性はファッションが好きなことが多いです。そこで「cancam」※はどうでしょうか?
しかし、canということばは英語にすでにあるもので、「~することができる」です。2回続くと、なんだか「これはできる!!」という意味合いにもとれて不適切です。
では、「jj」ではどうでしょうか? jはループ変数で多用されることが多いので、こちらも何か誤解を与えてしまいます。
女子があつかうメタ構文変数は、なかなか難しいようです。しばらく考えたのですが、コンビニで2冊の雑誌が目に止まりました。そして考えた2つの言葉がこちらです。
「anan」
「ageage」
どうでしょうか? 私のあたまでは、この2つが精いっぱいです。これ以上の言葉が思いつく方、ぜひご一報ください。
◆好きです
新年最初のコラムが、頭が悪そうな感じで申し訳ございませんでした。個人的にはこういう意味のない言葉に意味を定義し、新しいなにかを提唱していくことが楽しくてたまりません。
考えるきっかけをくれた壁画系男子ことAnubisさん、ありがとうございました。
◆最後にお知らせ
私事ですが、1月8発売の『日経Linux 2月号』に記事を執筆いたしました。
きっと全国の書店でお求めいただけるとおもいますので、よろしければお手にとって見てください。ちなみに、「森姫」と表記はしていないので(しているのは1箇所だけ)、ウォーリーを探すよりも難しいかと思いますが、よろしくお願いします(注:仮に発見したとしても名前と会社名は心の中にしまっておいてくださいね)。
※ご指摘により、2011年2月16日10時、「cancan」を「cancam」に変更いたしました。
コメント
一読者
何故"ぽうぽう"がでて"ぽいぽい"が出てこないのか不思議です。
ぽうぽうよりずっと打ちやすいです。
Anubis
壁画参上。
> 新年早々、Anubisさんの「ぽうぽう」というコラムが編集部どころかTwitterを騒然とさせたらしいのです。
↑実は本人はそれを知らなかった。人里離れて修行しておりました(笑)
ちなみに女性版は"juju"です。根拠は↓
http://www.juju.co.jp/
キーボード右、大きく肘をついて斜め左四十五度に構えて足を組んだ状態で、指二本で打てます。
(ちなみに"poupou"を打つときの姿勢は、左手でほおづえをつきながら打つというコンセプトがあります)
インドリ
piyoに目を付けるとはお目が高い。
最新コラムのおかげで、壁画さんの「人里離れて修行しておりました」が
妙にリアルに感じます。
1分で分かる身の危険
http://el.jibun.atmarkit.co.jp/101sini/2011/01/post-b135.html
ちなみに私は女子ですが、「jojo」が好きです。
poupouは片手しか使わない、という部分に打ちづらさを感じていたのですが…。
>ちなみに"poupou"を打つときの姿勢は、左手でほおづえをつきながら打つというコンセプトがあります
すべての違和感が氷解しました! なるほど! 素晴らしい!!
森姫
どもです。
書き忘れましたが、もごもごはチョコたべながら
両手でタイピングのイメージです。