見出し画像

人外談義

「人外」とは「人にあらざるもの」という意味である。同様な定義である「非人」が侮蔑的な意味を持つことが多いのと異なり、主にファンタジーなどの架空の世界において、獣人や精霊、妖精など、人としての外見を持つが、基本的に人よりも高次の存在を「人外」と呼ぶことが多い。ファンタジーの世界ではこういった「人外」はたまに討伐の対象となるが、原則として通常の人間がかなう相手ではない、強大な存在として描かれることが多い。一方、獣人、特に猫耳その他「人間+人のものでない何か」持つキャラクターも人外と呼ばれ、萌えの対象となっているらしいが、そっちは本稿の対象ではない。

 いつの頃からか、この「人外」という言葉が「人とは思えないプログラム能力を持つ存在」として使われるようになってきたらしい。もともと「廃人」とか「逸般人」などと言われていたし、少なくとも2013年の段階までは、僕もその表現を使っていた。おぼろげな記憶だが、2003年頃、「Lispの神様」竹内郁雄先生が、Winnyの47氏こと金子さんが介護用ベッドで生活して、起きている間中延々プログラムして、気絶するように寝ていた、というエピソードを紹介して、彼を「廃人」と呼んでいた気がする(…が、記憶が定かでない)。

 僕は2014年くらいから、「とても人間と思えないプログラマ」という意味で「人外」という言葉を使い出した。この言葉をいつ見たのかよく覚えていないが、アンサイクロペディアの「シモ・ヘイヘ」および「ハンス・ウルリッヒ・ルーデル」の記述で読んだのは間違いない。

シモ・ヘイヘの項目には以下の記述がある。

シモ・ヘイヘ(Simo Häyhä, 1905年12月17日 - 2002年4月1日)は、フィンランドの生んだスナイパー。死の妖精、白い死神(又は元祖白い悪魔)、ムーミン谷のゴルゴ13、デスムーミンと言われ恐れられた、人外の妖精スナイパーである

ハンス・ウルリッヒ・ルーデルの「総統閣下の勲章篇」の項目には以下の記述がある。

なお宝剣付黄金柏葉騎士鉄十字勲章は、ルーデルに続く新たなる英雄が現れることを願い、円卓の騎士とか使徒とかに準えて合計12個作られたのだが、結局他に受賞した者はいない。何せ、敵機350機撃墜の黒い悪魔やら敵戦車140輌撃破のヴィレル・ボカージュの虎戦車乗りやら40隻・30万トン撃沈のUボートエースといった世界水準で見れば立派な人外ズどもでも、ルーデルに比べれば落ちるとして受賞を逃しているのである。

 ここでは、「人外」という言葉は「超人」とほぼ同義で使われている。同様な用例は、例えば音ゲーにおける「人外譜面」などにも見られる。

 さて、プログラム界隈、特に「とても人間とは思えないプログラマ」という意味で「人外」という言葉が使われはじめたのは、Twitterで検索をかけた限り2008年ごろであろうと思われる。その後、2011年頃から特に競技プログラミング界隈で「凄腕プログラマ」を「人外」と呼ぶのが広まった形跡がある。競技プログラミングで有名な高橋直大さんもこんなことをつぶやいている。

 この「人外」という言葉は、今ではHPC業界でも使われ始めている。僕が以前書いたポエム「HPCと10年戦ってわかったこと」にも人外について書いたし、噂によると西の方に「神戸人外王国」というものがあり、人外達を集めてなにかフレームワークを作っているらしい。恐ろしいことである。

 さて、何が「人外」で何が「人外でない=普通のプログラマ」であるかは、当然定義により、かつその定義は人によって異なる。 僕が「人外」という言葉を使う場合は、通常の人が思いもよらない発想のプログラムを組んで見せる「ユニーク系人外」と、とにかく恐ろしく速いコードを書く「最速系人外」の二種類であり、主に後者の意味で使っている。通常の業界において重要な指標である「早く正確にプログラムを組める」という能力については(少なくとも僕は)人外扱いしていない。

 「最速系人外」の定義は極めて明確である。ようするに世界最速の何かを組んだことがあり、また今後も組む可能性が高いプログラマのことを言う。性能、効率といった数字指標に対して極めて偏執的なこだわりを見せる特徴がある。そのこだわりはキーボード、ディスプレイといった周辺機器にも発揮されることが多い。以前より「廃人」と呼ばれてる一派はこっち。

 対して「ユニーク系人外」の定義はあいまいである。そもそも「常人には思いつかない発想」という言葉自体が定義不可能な定義であって、多分に主観を含む。役に立つものを作ることもあるが、おそろしく高い技術を極めて無駄なことに使ってみせることが多い。もともとそういう使い方が想定されていないハードを無理やり別の目的に使う、極めてレガシーなシステムに高度な事をさせる、その言語には向いていないとされる何かにあえて挑戦するなど、その興味の対象が内向きになる傾向にある「最速系人外」に比べて、作ったものを人に見せて驚かせることが目的であることが多い。ただ発想が奇抜で優れているだけではだめで、その実現を支える高い技術を両立していなければならない。

 幸か不幸か、僕はかなり早い段階からこういった「人外」を目の当たりにしている。 例えばPentiumが出たばかりの頃にただ「Pentiumでクソ重い処理をさせてみよう」という動機で WSS-PCM上にFM音源エミュレータを実装して見せた高校生を知っている(いまソースみたらほぼフルアセンブラだった)。また、とあるプロジェクトで一緒になったプログラマが、それまで一度も分散並列プログラムを組んだことがなかったはずなのに、「ちょっと勉強して」スパコンで実用的に走るコードを組んできた上に、「ちゃんと最適化したら」僕のコードよりも1000倍早くなって「スパコンいらなくなりました」とか言ってきたこともあった(もちろん僕のコードがダメダメだった、ということでもあるが……)。

 我々一般人は、普通に生きていけばこういう人外とぶつかる可能性は極めて低い。むしろぶつからないように生きるのが正しい道である。しかし、何かとちくるって、一般人であるにもかかわらず「世界一になりたい」という野望を抱いてしまうと不幸である。ユニーク人外はともかくとして、何かしらの世界一を目指すと極めて高確率で「最速系人外」とぶつかる。人外は、その絶対数が少ない希少種である。しかし、何か数値化され、「世界一」が客観的に定義できる場所には(それがどんなにマイナーな分野であっても)必ず生息している。世界一になるためには、彼らに勝たなければいけない。ファンタジーでの定番、圧倒的な存在である人外をどうやって人間が討伐するか、という問題図式である。

 ではどうすればいいのか? まだどの分野でも世界一になったことがない僕は、もちろんその答えを持っていない。


この記事が気に入ったらサポートをしてみませんか?