PSJ渋谷研究所X(臨時避難所2)

はてダ http://d.hatena.ne.jp/kamezo/ からインポートしただけ

【メモ】私やあなたのカルト宗派


プログラミングのカルト宗派スラッシュドット・ジャパン  2008年01月04日)

DZone経由。ハッカーのMichael Ash氏が、自身のブログにThe Cult of Programmingという記事を書いています。「経験上、ほとんどのプログラマは以下の『宗派』のいずれかに分類される」とのこと。


  • 経験カルト
  • 最適化カルト
  • 簡単カルト → 簡単化カルト
  • 高速カルト最速化カルト → 最短カルト
  • 不確実性カルト
  • 完璧カルト
  • カーゴ・カルト
いくつか「予後不良」なものもあるようです。
(後述のコメント#1275148と#1275207に基づいて一部修正)


ぼくはプログラミングはしないけど、こういうことって「問題に対処しようとする(あるいは、しまいとする)誰にでもあるのかも」などと思った。「合併症もあるよね」みたいな指摘もどっかにあり、そうだよなあと相づち。


あれだ、ほれ、認識のバイアスとか、信じたいことを信じるとか、そういう傾き。


ちなみにぼくは英語の原文は見てません(汗 コメント欄での訳(#1275148)とその修正意見 (#1275207) がないと、なんのことだかわからんかったに違いない(汗 「訳者の追加セリフ」ってのも楽しい。


その#1275148#1275207を合体すると、こんな。

■経験カル
経験カルトのメンバーは、昔にやったことしかできないと信じています。
彼らを識別するには、彼らの手に余る問題を提示することです。
未使用APIへの恐怖にも似た反応や、やたら詳細なサンプルコードの提示要求という特徴的な反応から識別できます。


対処:新しいことも実現できることを提示できれば、カルトからの解脱へ導けるかもしれません。


■最適化カルト
最適化カルトのメンバーは、他のどんな価値観よりも速さに価値を見出します。
掲示板で「最速の方法は?」とよく質問しています。
速さの価値観にマッチしない意見を提示されると、恐怖を覚えます。
同様に、どの操作が速くて、どんな操作が速くないかということに関して誤った見解を持っています。


対処:プログラマ工数の重要度、種々の操作の正しい速度、現在のハードウェアの実際の能力などを教育していけば、より生産的になるでしょう。


■簡単化カルト
簡単化カルトのメンバーは、他のどんな価値観よりも簡単な実装に価値を見出します。
掲示板で「一番簡単な方法は?」とよく質問しています。
フレームワークの持つ組み込み機能により、彼らのやりたいことや、大きな問題を解決できると考えています。
自分で機能を実装するように提示されると、恐怖を覚えます。


対処:ある程度な規模のプロジェクトを努力の末に完了できればこの傾向から脱却できるかもしれません。


■最短カルト
表面的には、最適化カルトや簡単化カルトと似ていますが、
最短カルトのメンバーは他の何よりも実装に必要な時間に価値を見出します。
彼らを識別する特有の質問はありません。しかし、複数のやり方を考えてから
とにかく実装に必要な時間が最短になると思われる解を採用するところから彼らを識別できます。
彼らは実験、研究、ツールを習得する事などに時間を費やすことを嫌う傾向があります。


対処:実験、研究、ツールを習得することの有用性を頻繁に実践してみせれば
回復することもありますが、望みのない事が多いです。


■不確実性カルト
不確実性カルトのメンバーは真に知られているものはなく、する前に可能な限り確かめることがベストだと信じている。
彼らは、すでに詳細が提案されている問題に対して執拗に回答を要求するところから識別できます。
最初の質問でさんざん聞いてから他のアドバイスを求めたり、複数のMLや掲示板に同じ質問をマルチポストします。


対処:情報に飢えてるときに、すべての落とし穴を知らなくても旅ができることを実践することかもしれません


■完璧カルト
完璧カルトは、パーフェクトなコードが数学的に存在することを知っており、それを探すことに没頭します。
彼らは実用的な価値がないコードを際限なくいじっていることがあります。
また、非カルトメンバーから見れば同等で無意味に見える実装について、どちらがよいか意見を求めることがあります。
この作業に終わりがないことさえ除けば、それらのコードはまったく問題ありません。


対処:卒業と就職により治癒しますが、時間外には完璧カルトとして活動しています。


カーゴカルト
カーゴカルトは、プログラミング以前の疑似科学に属する古典的なカルトです。
カーゴカルトに属するプログラマーは、深い理解の必要性を把握していないどころか、深い理解があることすら気づいてない場合があります。
彼らのコードはまがいものですが、なんとか動いています。
書いたコードはざっと見た限りでは正しそうですが、ちゃんと見るとほとんど理解できない傾向にあります。
欠点を指摘されると、指摘のとおりに修正しようとしますが、直す箇所を間違えています。
彼らは、専門家の議論中に何を話しているか理解できないことを認めないことから識別できます。


対処:手のうちようがありません

実は、これを読んでまっさきに思いだしたのは、ニセ科学批判を批判しているのだと自称する誰彼のことで、次にニセ科学的言説を擁護しないでいられない誰彼のことも。「ああ、あの人は経験カルトとカーゴカルト、あの人は不確実性カルトと完璧カルトに入信しちゃってるのかもしれないなあ」みたいな。


もちろん、ぼく自身だって、どれかのカルトの影響を受けている可能性はある(誰でもそうだろうけれども、どれにも入信はしてないつもり)。くわばらくわばら。