metasyntactic variable
名詞
例の中で使われる名前で、議論の対象が何であれそれを、あるいは議論されている事物のクラスの任意のメンバーを表すものと了解されている。fooという語がcanonicalな例である。混乱を避けるため、ハッカーは決して(まあ、ほとんど決して)‘foo’やそれに似た他の語を何かの恒久的な名前として使わない。ファイル名では、メタ構文変数の名前で始まるファイル名はいつでも削除されうるscratchファイルである、というのが一般的な慣習である。
メタ構文変数がそう呼ばれるのは、(1)それらがプログラムなどについて語るのに使われるメタ言語における変数だからであり、(2)それらが、その値がしばしば変数である変数だからである(「f(foo,bar)の値はfooとbarの和である」のような用法のように)。しかし、「メタ構文変数」という語の本当の理由は、それが格好よく聞こえるからだとまことしやかに示唆されてきた。ある程度、自分の好みのメタ構文変数のリストは文化的な署名である。それらは(関連する変数やオブジェクトのグループに使われる)系列としても、単独でも現れる。ここにいくつかの一般的な署名を挙げる。
MIT/Stanfordの用法。今や至るところで見られる(主にこの語彙集の初期バージョンのおかげで!)。MITでは(Stanfordではなく)、bazは1970年代と80年代にしばらく使われなくなった。この系列の最近の一般的な変異はquuxの前にquxを挿入する。 |
|
bazola、ztesch: |
Stanford(70年代半ば以降)。 |
この系列はCMUで人気があった。他のCMU関連の変数にはgorpが含まれる。 |
|
Waterloo大学。Waterlooのコンピュータサイエンスクラブはかつてドアに「Ye Olde Foo Bar and Grill」と書かれた看板を掲げていたと聞いている。これが「grill」を三番目のメタ構文変数として確立しようとする試みにつながったが、決して定着しなかった。 |
|
この系列はXEROX PARCで一般的だと報告されている。 |
|
fredの項目を参照。これらは英国流の傾向がある。 |
|
Rutgers大学とGOSMACSのハッカーの間で人気。 |
|
zxc、spqr、wombat: |
Cambridge大学(イングランド)。 |
shme |
Berkeley、GeoWorks、Ingres。短い/e/を伴って/shme/と発音される。 |
foo、bar、baz、bongo |
Yale、1970年代後半。 |
spam、eggs |
Pythonプログラマ。 |
snork |
Brown大学、1970年代初頭。 |
ヘルシンキ工科大学、フィンランド。 |
|
blarg、wibble |
ニュージーランド。 |
toto、titi、tata、tutu |
フランス。 |
pippo、pluto、paperino |
イタリア。Pippo /pee´po/ とPaperino /pa·per·ee'·no/ はそれぞれGoofyとDonald Duckのイタリア語名。Plutoはもちろんミッキーの犬である。 |
aap、noot、mies |
オランダ。これらは、オランダの綴り学習盤で子供が最初に綴りを教わった言葉である。 |
oogle、foogle、boogle; zork、gork、bork |
これら二つの系列(他の頭子音で続けることができる)はイングランドで一般的だと報告されており、Lewis Carrollにさかのぼると言われる。 |
これらすべてのうち、普遍的なのはfooとbarだけである(そしてbazがほぼそうである)。複合語のfoobarとfoobazも非常に広く通用している。一部のjargon用語もメタ構文名として使われる。たとえばbarfやmumbleである。英国とコモンウェルスで見られる数々のメタ構文変数の議論についてはCommonwealth Hackishも参照。