1.5. ハッカーの文章スタイル

ハッカーが文法規則を過剰に一般化してジャーゴンを造ることが多いのは、すでに見たとおりである。これは、ハッカーの文章に特に表れる、形式対内容の言葉遊びへのより一般的な好みの一側面だ。ある寄稿者は、自分は‘wrong’を一貫して‘worng’と書き間違えると報告している。また、(Douglas Hofstadterの流儀で)「This sentence no verb」、「Too repetetetive」、「Bad speling」、「Incorrectspa cing」と指摘して、Jargon File草稿の不具合を批判することで知られる者たちもいる。同様に、混乱や混乱を招くものに関する語句には、意図的なスプーナリズムがしばしば施される。‘brain damage’に対する‘dain bramage’がおそらく最も一般的だ(同様に、ハッカーは「I'm dyslexic today」ではなく「Excuse me, I'm cixelsyd today」と書きそうである)。この種のことはきわめてありふれており、関係者全員に楽しまれている。

ハッカーは引用符を、括弧のような釣り合いの取れた区切り記号として使う傾向があり、これはアメリカの編集者を大いに困惑させる。したがって、「Jim is going」が一つの句で、「Bill runs」や「Spock groks」もそうであるなら、ハッカーは一般に「Jim is going」、「Bill runs」、「Spock groks」と書くのを好む。これは標準的なアメリカ用法(継続のコンマと最後のピリオドを文字列の引用符の内側に入れる)によれば誤りである。しかしハッカーにとって、リテラル文字列をそこに属さない文字で損なうのは直観に反する。プログラミングの議論で出てきうる類の例を考えれば、アメリカ式の引用は甚だしく誤解を招くことすらある。コマンドラインや小さなコード片を伝えるとき、余計な文字は本当に厄介な代物になりうる。

たとえば、viのチュートリアルにある次のような文を考えてみよう。

Then delete a line from the file by typing dd.

標準用法ではこれは次のようになる。

Then delete a line from the file by typing dd.

だがそれは非常にまずい。というのも読者はその文字列をd-d-ドットとタイプしがちで、vi(1)ではドットが直前に受理されたコマンドを繰り返すからだ。最終的な結果は2行を削除することになる!

Jargon Fileは全体を通じてハッカー流の用法に従っている。

興味深いことに、現在では同様のスタイルがイギリスでも望ましい慣行となっている。もっとも古いスタイル(組版されたテキストでのコンマと引用符の美観に関わる組版上の理由で定着した)もそこではまだ受け入れられている。Hart's RulesOxford Dictionary for Writers and Editorsは、このハッカー流のスタイルを‘new’あるいは‘logical’な引用と呼ぶ。これは、他の多くの言語(スペイン語、フランス語、イタリア語、カタルーニャ語、ドイツ語を含む)がずっと使ってきたスタイルへ、イギリス英語を戻すものである。

もう一つのハッカーの習慣は、‘scare’引用と‘speech’引用を区別する傾向だ。つまり、しるし付けにはイギリス式の単一引用符を使い、アメリカ式の二重引用符は実際の発話の引用や他所から取り込んだテキストのために取っておく。興味深いことに、これを正しい一般用法だとする権威もあるが、本流のアメリカ英語は二重引用符を見境なく使うようになりすぎて、ハッカーの用法は際立って見える[実のところ、Usenetで確かめてみるまで、私はこれを自分個人の癖だと思っていた —ESR]。さらにもう一つの、明らかに標準ではない変種は、アポストロフィ(単一引用符)を対で使ってしるし付けの引用をするというハッカー流の傾向だ。つまり、’like this’のように。これは一部のプログラミング言語の文字列および文字リテラル構文を手本にしている(多くの文字専用端末がアポストロフィをタイプライター式に縦の単一引用符として表示するという事実によって補強されている)。

特にUnixハッカーのemailスタイルに頻繁に現れる癖の一つは、通常はすべて小文字であるもの(ユーザー名やコマンド名、Cルーチン名を含む)が、文頭に来るときでも大文字化されないままになる傾向だ。多くのハッカーにとって、そうした識別子の大文字小文字は内部表現(‘綴り’)の一部になっており、精神的な労力なしには上書きできないのは明らかである(UnixもCも大文字小文字を区別し、それらを取り違えるとlossageにつながりうるので、これは適切な反射である)。このジレンマから逃れる方法は、単にこれらの構文を文頭で使うのを避けることだ。

こうした非標準的なハッカー語法の背後には、表現の精密さが伝統的規則への適合よりも重要だ、という効果を持つメタ規則があるように思われる。後者が曖昧さを生んだり情報を失わせたりするところでは、ためらうことなく後者を捨ててよいのだ。この点で注目に値するのは、他のハッカー的な造語(たとえば語彙において)も、俗っぽくゆるく見えるように作られていてさえ、きわめて精密な意味合いを帯びる傾向があることだ。実際、ハッカーにとって、ジャーゴンにおける‘ゆるい’形式と‘きっちりした’内容の対比は、その面白さの相当な部分を占めている!

ハッカーはまた、単一フォントのオールASCIIの通信回線に適応した、いくつかの句読点と強調の慣習を発達させてきた。そしてこれらは、フォント変更や下線などの通常の手段が利用できるときでさえ、書かれた文書に時折持ち込まれる。

そのうちの一つは、すべて大文字のテキストが‘大声’と解釈されることであり、これはきわめて染み付いた共感覚的反射となるため、talk mode中にcaps-lockに切り替えた者が「お願いだから怒鳴るのをやめてくれ、耳が痛い!」と言われることもある。

また、強調を示すために変わった文字で囲むこともよく行われる。アスタリスクが最も一般的で、「What the *hell*?」のように使う。これは脚注記号としてのアスタリスク接尾辞の一般的な用法と干渉するにもかかわらずである。下線を示唆するアンダースコアも一般的だ(これは特に書名でよく使われる。たとえば「It is often alleged that Joe Haldeman wrote _The_Forever_War_ as a rebuttal to Robert Heinlein's earlier novel of the future military, _Starship_Troopers_.」のように)。「=hell=」、「hell/」、「/hell/」に例示される他の形式も時折見られる(最後の例では、最初のスラッシュが文字を右へ押して斜体にし、二番目が文字が倒れるのを防ぐと言われている)。FidoNetでは#bright#や^dark^のテキストを目にすることがあり、これは実際に一部のリーダーソフトウェアによって解釈されていた。最後に、L I K E T H I Sのように単語を強調したり、テキストの次の行でその下に一連のキャレット(^)を付けて強調することもある。

*emphasis like this*(句全体を強調する)と、*emphasis* *like* *this*(書き手がとてもゆっくりはっきりと、まるで幼い子どもや精神に障害のある人に話すように話していることを示唆する)の間には意味の違いがある。‘*’文字で単語を囲むことは、書き手が読者に、何らかの動作が行われている、あるいは何らかの音が出ていると考えてほしいと望んでいることを示す場合もある。例:*bang*、*hic*、*ring*、*grin*、*kick*、*stomp*、*mumble*。

上記の効果音は<bang>、<hic>、<ring>、<grin>、<kick>、<stomp>、<mumble>として目にすることもある。内容を示すためにこの山括弧を使うのは、もともとBNFで使われる慣習に由来するが、1993年頃以降はWorld Wide Webで使われるHTMLマークアップによって補強された。

山括弧で囲むことは、ある語がより大きなクラスの何らかのrandomなメンバーを表すことを示すためにも使われる(これはBNFそのものである)。次のような例が一般的だ。

So this <ethnic> walks into a bar one day...

‘抹消下での書き込み’のための受け入れられた慣習もある。テキスト>

Be nice to this fool^H^H^H^Hgentleman, he's visiting from corporate
HQ.

これはおおよそ「Be nice to this fool, er, gentleman...」と読め、皮肉が強調されている。二重音字^Hはバックスペースの印字表現としてよく使われ、旧式の印字端末では実際にとてもよく見えた。テキストが組み立てられているとき、文字は即座にエコーされて印字され、訂正が行われるとバックスペースのキーストロークが文字列‘^H’とともにエコーされた。もちろん、最終的に組み立てられたテキストには、バックスペース文字(や元の誤ったテキスト)の痕跡は残らない。

偶発的な抹消下での書き込みは、別のユーザーと対話的にチャットするためにUnixのtalkプログラムを使うときに起こる。PC式キーボードでは、ほとんどのユーザーが間違いを消そうと本能的にバックスペースキーを押すが、これは望んだ効果を達成せず、ただ^Hという記号を表示するだけかもしれない。ユーザーはたいてい、脳が問題に気づくまでにバックスペースを数回押す——特にユーザーがタッチタイピストの場合に起こりやすい——そして各文字はタイプされるとすぐに送信されるので、フロイト的失言やその他の不用意な告白が(ネットワークの遅延がなければ)相手のユーザーにはっきり見えてしまう。

抹消下での書き込みのための^Hの意図的な使用は、SFファンジンにおける‘抹消線’の皮肉な使用と並行している(そしてそれに影響されたのかもしれない)。

関連する習慣として、前のテキストへの訂正を示すためにエディタのコマンドを使うものがある。この慣習は、より多くのメーラーがまともな編集機能を備えるようになるにつれてemailでは廃れたが、IRCやその他の行ベースのチャットシステムで新たな命を得た。

charlie: I've seen that term used on alt.foobar often.
lisa: Send it to Erik for the File.
lisa: Oops...s/Erik/Eric/.

s/Erik/Eric/は「直前のErikをEricに変えよ」という意味である。この構文はUnixの編集ツールedsedから借りたものだが、Unix以外のハッカーにも広く認知されている。

数式では、*は乗算を意味するが、アスタリスクを2つ続けると冪乗の略記になる(これはFORTRANに由来し、Adaでも使われる)。したがって、2 ** 8 = 256のように書くこともできる。

冪乗のもう一つの表記でより頻繁に見られるのは、キャレット(^、ASCII 1011110)を使うものだ。代わりに2^8 = 256と書くこともできる。これはAlgol-60まで遡り、後にキャレットになった古いASCIIの‘上向き矢印’を使っていた。これはKemenyとKurtzのオリジナルのBASICに取り入れられ、それが今度はUnixのbc(1)dc(1)ツールの設計に影響を与えた。これらはおそらくUsenetでこの慣習を補強するのに最も貢献した。(TeXの数式モードも冪乗に^を使う。)この表記はCプログラマーをやや混乱させる。Cでは^がビットごとの排他的論理和を意味するからだ。それにもかかわらず、1990年末のUsenetのスナップショットでは**より3対1で好まれた。この辞典では一貫してそれが使われている。

オンラインのやり取りでは、ハッカーは‘タイプライター式’の帯分数(‘3-1/2’)よりも、小数形や仮分数(‘3.5’や‘7/2’)を使う傾向がある。ここでの主な動機は、おそらく前者が等幅フォントでより読みやすいことと、後者が‘3引く2分の1’と読まれかねない危険を避けたいという願望だろう。有限小数表現を持つ分数には、小数形が断然好まれる。ここには科学記法の高い地位からの文化的影響もいくらかあるかもしれない。

もう一つのオンラインの慣習は、特に非常に大きいか非常に小さい数に使われるもので、Cから取られている(CはこれをFORTRANから受け継いだ)。これは‘*10^’を‘e’で置き換える‘科学記法’の一形態だ。たとえば、1年はおよそ3e7(つまり3 × 10 7)秒の長さである。

チルダ(~)は‘およそ’という量を表す意味でよく使われる。つまり、~50は‘約50’を意味する。

UsenetやMUDの世界では、|&|\|&&!==!=><>=<=といった一般的なCのブール演算子、論理演算子、関係演算子が英語と組み合わされることが多い。Pascalの非等価<>も認知されており、時には非等価に/=(Ada、Common Lisp、Fortran 90由来)を見かけることもある。接頭辞の‘!’を‘not-’や‘no-’のゆるい同義語として使うのが特に一般的だ。したがって‘!clue’は‘no-clue’あるいは‘clueless’と読まれる。

関連する慣行として、好みのプログラミング言語から構文を借りて、自然言語のテキストの中で考えを表現するものがある。たとえば、次のようなものを見かけることがある。

In <jrh578689@thudpucker.com> J. R. Hacker wrote:
<I recently had occasion to field-test the Snafu
<Systems 2300E adaptive gonkulator.  The price was
<right, and the racing stripe on the case looked
<kind of neat, but its performance left something
<to be desired.

Yeah, I tried one out too.

#ifdef FLAME
Hasn't anyone told those idiots that you can't get
decent bogon suppression with AFJ filters at today's
net volumes?
#endif /* FLAME */

I guess they figured the price premium for true
frame-based semantic analysis was too high.
Unfortunately, it's also the only workable approach.
I wouldn't recommend purchase of this product unless
you're on a *very* tight budget.

#include <disclaimer.h>
--
                 == Frank Foonly (Fubarco Systems)

上記では、#ifdef/#endifの組はCの条件付きコンパイル構文だ。ここではそれが、間に挟まれたテキスト(これはflameである)が、FLAMEというスイッチをオンにしている(あるいはオンに定義している)場合にのみ評価されるべきだ、ということを含意する。末尾の#includeは「ここに標準免責事項を挿入せよ」というCの表現だ。‘標準免責事項’はおおよそ「これらは私個人の意見であり、雇用主の公式見解と解釈されるべきではない」と読まれるものと理解される。

例の最上部、左余白に<があるセクションは、後で論じる引用の慣習の一例である。

より最近では、World Wide Webの絶大な人気を受けて、似た目的のために疑似HTMLマークアップが流行するようになった。

<flame>
Your mother was a hamster and your father smelt of elderberries!
</flame>

HTML式の属性修飾子付きでこれを見かけることさえあるだろう。

<flame intensity="100%">
You seem well-suited for a career in government.
</flame>

もう一つの最近(1990年代後半)の構文で、今ではUsenetで一般的なものは、Unixのシェル構文かPerlから借りたものらしい。それは、単語や頭字語の大文字化された形の前にドル記号を付けて、その単語が示すクラスの何らかのrandomなメンバーを示唆するものだ。したがって、‘$PHB’は「‘Pointy-Haired Boss’というクラスの任意のメンバー」を意味する。

ハッカーはまた、本流の用法よりも自由に文字と数字を混ぜる。特に、英語でその数を名づけるテキスト文字列を読者に理解してほしいときに、数字の並びを書くのがよいハッカー流のスタイルだ。だからハッカーは、‘nineteen-seventies’や‘1970's’(後者は所有格に見える)よりも‘1970s’と書くのを好む。

ハッカーは、英語で普通であるよりもはるかにためらいなく、何重にもネストした括弧を使うことも指摘しておくべきだろう。これの一部はほぼ確実にLISP(その構文で深くネストした括弧(このように(わかる?))を多用する)からの影響によるが、複雑さで遊んでシステムを限界まで押し進めるのを楽しむという、より基本的なハッカーの特質が働いているのだとも示唆されている。

最後に、オンラインコミュニケーションの多くの研究が、電子的なつながりが人々に脱抑制効果をもたらすことを示してきた、と述べておく価値がある。感情の状態が表現される身体言語の手がかりを奪われると、人々は他者についてそのASCII回線越しに提示されるもの以外のすべてを忘れる傾向がある。これには良い効果と悪い効果の両方がある。良い効果の一つは、正直さを促し、階層的な権威関係を打ち壊す傾向があることだ。悪い効果の一つは、没個性化と理由のない無礼を助長しかねないことである。おそらくこれへの反応として、経験豊富なネット民は、他の話し言葉や書き言葉の媒体では廃れてしまった、ある種の意識的で形式的なpolitesseを文章に示すことが多い(たとえば「Well said, sir!」という句は珍しくない)。

直接会うと話下手も同然の内向的なハッカーの多くが、ネット越しではかなりの流暢さでコミュニケーションする。おそらくそれは、まさに彼らが無意識のレベルで、自分が人と関わっていることを忘れられるためであり、それゆえ面と向かったときに感じるようなストレスや不安を感じないからだ。

スペルや文法の悪さで投稿者を公に批判するのは無作法と見なされるが、ネットワークは読み書き能力と表現の明晰さを重んじる。将来の文学史家が、そこに個人的な手紙を芸術とする偉大な伝統の復活を見るということも、大いにありうるかもしれない。