📓

なぜ、「プログラマーの三大美徳」は日本でばかり有名なのか?

に公開

はじめに

プログラマーの三大美徳は、ラリー・ウォールが Perl の文化とともに提示した有名な言い回しですが、日本ではそれが単なる Perl の格言にとどまらず、広くエンジニア一般の心得として知られるようになりました。現在の Perl 公式文書でも、この三つは「Laziness, Impatience, and Hubris」として明記され、由来はラクダ本の通称で知られる『Programming Perl』にあると案内されています。出発点は明確に Perl 文化の内部にあります。

ところが日本語圏では、この言葉が Perl を知らない初学者や転職希望者にまで届いています。技術系媒体や転職媒体、学習媒体に至るまで、三大美徳は「プログラマーに向いている人の特徴」や職業理解の一部として紹介されています。一般化の度合いが、日本ではかなり高いのです。

ここで問いの立て方を少し正確にしておきます。英語圏でも三大美徳は普通に流通しているので、「日本でばかり有名」という言い方はやや雑です。より正確には、英語圏では Perl の名句として保存され、日本では職業倫理として再梱包された、という流通形態の差があるという話です。本稿はこの差がなぜ生じたのかを追います。

結論を先に言えば、原典の強さに加え、邦訳の早さ、日本の Perl と Ruby の人的距離、ブログ文化の強さ、そして日本の職場文化に対する逆説的な効き方が重なった結果です。単なる流行語史ではなく、ある技術文化の内部語が別の国で職業倫理の顔を持つに至った経路の話として読めます。

「プログラマーの三大美徳」とは何か

三大美徳とは、怠惰短気傲慢です。ここで言う怠惰は単なるサボりではありません。全体の労力を減らすために、自動化や再利用に手間を惜しまない性質です。短気は、計算機や仕組みの鈍さに苛立ち、より速く、より先回りした振る舞いを作ろうとする性質です。傲慢は、他人に馬鹿にされないものを作りたいという自負であり、保守や見た目まで含めて恥ずかしくない成果物を目指す動機です。

重要なのは、この三つが道徳の言葉をわざとひっくり返している点です。普通なら怠惰も短気も傲慢も欠点ですが、ラリー・ウォールはそれらを職能上の推進力として言い換えました。この逆説性が強烈で記憶に残りやすく、しかも単なる冗談ではなく実際のプログラミング上の合理性にきちんと対応しています。だからこの言葉は、名言としても実務原理としても生き残りました。

さらに言えば、この内容は本来プログラマだけに閉じたものではありません。怠惰は反復の削減ですから営業のテンプレート化にも管理職の会議削減にも通じ、短気は工程改善全般に通じ、傲慢は職業的自尊心としてどの職種でも品質責任に結びつきます。もともと汎用性の高い職業徳目だったわけです。

それでも英語圏では、長く Perl の名句として扱われがちでした。これは内容が狭いからではなく、出典があまりにも強く残ったからです。Perldoc 自体が現在でも「Camel Book を見よ」と言い続けており、言葉が生きるたびに自動的に Perl に結び直される構造になっています。原典コミュニティの看板が、ずっと外れなかったのです。

この言葉はどう広まったのか

広まりの最初の段階は、もちろんPerl の正典としてです。Perldoc には現在でも三大美徳が記されており、古いバージョンの文書にも同じ文が確認できます。後から誰かが作ったネットミームではなく、Perl 本体の自己紹介に近い位置を持つ言葉だということです。

日本では、その原典にかなり早い時期から日本語で触れられました。オライリー・ジャパンは『プログラミング Perl 第3版』を 2002 年 9 月に刊行しており、日本語読者は早い段階でラクダ本を自国語で読める状態にありました。日本の三大美徳受容は、後年のブログ文化だけで始まったのではなく、まず邦訳基盤が先に整っていたわけです。

ただし、邦訳が出てから後述する 404 Blog Not Found による再解釈までには 5 年ほどの時間差があります。この間、三大美徳は日本でもまだ Perl 圏の内部語にとどまっていました。つまり邦訳の存在は必要条件ではあっても十分条件ではなく、それを Perl の外へ運び出す拡声器が別に必要だったということです。この点は後段で扱います。

しかもラリー・ウォール自身が日本語や日本文化に親しみを見せていたことも、日本での受け止められ方を柔らかくしました。2007 年の gihyo.jp のインタビューでは、ウォールは五年かけて少しずつ日本語を勉強したことを語り、お気に入りのアニメとして『あずまんが大王』を挙げています。グイド・ヴァンロッサムとまつもとゆきひろを親友だとも述べています。単なる遠い海外の作者ではなく、親近感を持たれやすい人物像でした。

日本では誰がどう一般化したのか

日本で三大美徳が Perl 圏の外へ出ていくうえで、最重要人物の一人が小飼弾です。彼はホリエモン(堀江貴文)が創業した会社ライブドアの前身であるオン・ザ・エッジで CTO をしていた人物です。彼のブログ「404 Blog Not Found」には「美徳その1:怠慢」「美徳その3:傲慢」という 2007 年頃の記事があり、そこではラリー・ウォールの三大美徳が正面から紹介されています。小飼氏は訳語を発明したのではなく、既存の強い語を日本語の読者が使える形で前面化した結節点でした。

さらに 2009 年の『小飼弾の「仕組み」進化論』で、小飼氏は三大美徳を Perl の内輪語から仕事一般の原理へ移し替えました。怠慢は同じ作業の重複を嫌うこと、短気は先回りして仕組みを作ること、傲慢は保守を容易にする職人意識として説明されています。出版社の紹介でも、この本が「すべての仕事の根本となる仕組みの作り方」を語る本だとされています。ここで三大美徳は、もはや Perl の話ではなくなっています。

しかも、その再解釈を運んだ媒体が強かったのです。ITmedia は 2010 年に 404 Blog Not Found を月間 100 万 PV のブログとして紹介しています。技術者だけでなく読書層やビジネス層まで届く大きな個人媒体が三大美徳を繰り返し話題にしたことで、この言葉は一般技術文化に食い込みました。良い解釈があっただけでなく、それを載せる拡声器が大きかったわけです。

そして日本では、まつもとゆきひろも三大美徳を一般的な「ハッカーの気質」として紹介しています。2007 年の ITmedia 連載では、ハッカーの美徳は「不精」「短気」「傲慢」だと記されています。Perl の言葉が Ruby 側の巨人によっても紹介されることで、この格言は言語横断的なものとして受け取られやすくなりました。日本で Perl と Ruby の文化圏が完全に断絶していなかったことが、一般化を後押ししたのです。

なぜ日本では Perl の格言で終わらなかったのか

理由の一つは、日本ではこの言葉が技術的格言であると同時に社会的反作用として読めたことです。OECD は、日本では長時間労働に苦しむ雇用者の比率が高く、長年にわたり労働時間が長い国の一つだと指摘しています。勤勉さや忍耐がすでに過剰供給されている環境では、「怠慢」を美徳だと言う言葉は単なる変な冗談ではなく、耐えることの過剰への補正として機能します。

同じことは謙虚についても言えます。日本と米国を比較した研究では、理由づけのない自己評価場面で、日本人参加者は self-effacing な傾向を示し、米国側は self-enhancing な傾向を示しました。その研究は、こうした慎み深さが他者を不快にさせないための既定戦略だと解釈しています。日本では謙遜や自己抑制がかなり深く社会化されており、そこに「傲慢」を美徳として置く言葉は、反倫理ではなく職能上の自負を取り戻すための逆説として響きやすいのです。

ただし、この「労働文化への逆説的フィット」説には弱点もあります。同様の論理なら韓国や台湾でも三大美徳が職業倫理として広まってよさそうですが、その比較は本稿の射程外です。したがってこの説は、日本での一般化を単独で説明する要因ではなく、原典の強さ、邦訳の早さ、ブログ拡声器という他の条件の上に乗ったときに効いた増幅要因として位置づけるのが妥当です。

そのうえで日本の技術記事文化には、思想を「原則」「心得」「向いている人の条件」として整理する傾向があります。日本の転職媒体や学習媒体は、三大美徳を単なる出典付きの名言として紹介するのではなく、職業適性の説明や入門者向けの心得という実用的な型に流し込んで再提示しています。一般化の本体はここにあります。

なぜ英語圏では Perl の格言として残りやすかったのか

英語圏で三大美徳が普及していないわけではありません。Hacker News では「Perl のマニュアルにあるあれ」として引用され、Perl の利用者でない人が「自分は Perl 派ではないが、この言葉は好きだ」と書いています。ブログでも、ラリー・ウォールの名言として紹介し直す記事が繰り返し現れています。英語圏でもこの言葉はちゃんと生きています。

ただし、その生き方が違います。これは内容が狭いからではなく、出典があまりにも強く残ったからです。Perl の公式マニュアルである Perldoc は現在でも三大美徳の項目を載せ、その出典としてラクダ本を案内し続けています。読者がこの言葉に触れるたびに自動的に Perl 原典へ結び直される構造になっており、原典コミュニティの看板がずっと外れなかったのです。日本では邦訳や再解釈が間に入ることで原典札が薄まりましたが、英語圏では逆に原典との距離が近すぎるがゆえに Perl 籍のまま残りやすかったと言えます。

もう一つは、英語圏ではこの言葉の汎用性を感じても、必ずしも職業一般の徳目として再梱包する必要がなかったことです。Hacker News の会話でもブログ記事でも、三大美徳は「あの有名な Perl の言葉」として共有できてしまいます。日本のように転職記事や入門記事が「プログラマーに向いている人の特徴」としてまで再加工する必要が、相対的に小さかったのです。

要するに、英語圏が狭く日本が本質を理解したという単純な話ではありません。英語圏は原典保存が強く、日本語圏は用途拡張が強かったのです。英語圏では三大美徳が Perl の格言として生き続け、日本ではそれが職業一般の原理として再利用された。この流通経路の違いが、日本で三大美徳が職業倫理の顔をしているという見え方を生んでいます。

まとめ

プログラマーの三大美徳は、もともとラリー・ウォールが Perl 文化の中で提示した、怠惰、短気、傲慢という逆説的な職能原理です。原典は Perl の公式文書とラクダ本にあり、日本では 2002 年の邦訳によって早くから接続可能でした。まずこの原典の強さと邦訳基盤の早さが前提にあります。

次に日本では、ラリー・ウォールへの親近感、まつもとゆきひろによる紹介、小飼弾による再解釈、そして大きなブログや技術媒体の流通力によって、この言葉が Perl 圏の外へ押し出されました。とくに小飼弾は、三大美徳を仕組み化や仕事の改善に接続し、Perl の格言を一般労働の原理へ転写する結節点を担いました。

さらに日本では、長時間労働、忍耐の過剰、謙遜の規範といった職場文化の文脈がありました。「怠慢」「短気」「傲慢」という語は、過剰な勤勉、過剰な忍耐、過剰な謙遜に対する補正装置として働きました。ただしこの労働文化要因は単独で一般化を説明するものではなく、原典、邦訳、拡声器という他条件の上に乗ったときに効いた増幅要因として理解するのが妥当です。

英語圏ではこの言葉が Perl の名句として保存され、日本ではそれが一般技術文化へと再配布されました。差を生んだのは、言葉の中身よりも、文化的な受け皿流通のされ方だったのです。

Discussion