ページ内ジャンプ:

アレゲなニュースと雑談サイト

mhattaによる 2008年01月04日 9時00分の掲載
正直カーゴ・カルトに属しています部門より。

Anonymous Coward曰く、

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

  • 経験カルト
  • 最適化カルト
  • 簡単カルト
  • 高速カルト
  • 不確実性カルト
  • 完璧カルト
  • カーゴ・カルト
いくつか「予後不良」なものもあるようです。

関連ストーリー

この議論は賞味期限が過ぎたので、保存されている。 新たにコメントを書くことはできない。
表示オプション しきい値:
  • とりあえず意訳 (スコア:5, 参考になる)

    Anonymous Coward : 2008年01月04日 11時50分 (#1275148)
    ざっと訳してみました
    間違いあったら訂正よろしく
    #タレコミ時には訳もつけとけよ

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

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

    訳者からの追加セリフ:
    「やったことないからできません」
    「使えるサンプルコードを提示してください」

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

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

    訳者からの追加セリフ:
    「どんなループでもループ内の変数操作は少ないほうがいい」(単純な操作であれば最適化はコンパイラがやってくれる)
    「C(Java)は遅い。アセンブラ(C)で書いたほうが速い」(現在のオプティマイザに勝てるプログラマはごく少数だし、その工数をアルゴリズムの最適化に振り向けたほうが効果的)

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

    対処:適当な規模のプロジェクトを完了してしまうと、この傾向はますます強まるかもしれません。

    訳者からの追加セリフ:
    「RoR(Spring)にまかせればバッチリさ」

    ■最速化カルト
    表面的には、最適化カルトや簡単化カルトと似ています。
    最速化カルトのメンバーは他のどんなものより速度に価値を見出します。
    彼らを識別する特有の質問はありません。
    しかし、複数の実装を試してから最速のものを採用するところから彼らを識別できます。
    彼らは貪欲に速度に関する実験、研究、調査に時間を費やします。

    対処:実験、研究、ツールにより元に戻ることもありますが、元に戻る望みのない例もあります。

    訳者からの追加セリフ:
    「もっと速い実装はないものかね」

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

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

    訳者からの追加セリフ:
    「○○について知りませんか?」
    「(回答をもらった後で)それは知ってますが、他にないかと思いまして」

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

    対処:教育と雇用により治癒しますが、時間外には完璧カルトとして活動しています。

    訳者からの追加セリフ:
    「この実装とあの実装だとどちらがいいと思う?」

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

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

    訳者の追加セリフ
    「動けばいいんだよ。動けば」
    • 突っ込み (スコア:4, 参考になる)

      Account-mochi Coward (34881) : 2008年01月04日 13時25分 (#1275207) 日記
      >サンプルコードの提示要求

      重箱の隅だけどここは「やたら詳細な~」を省いちゃ駄目かと。

      >狂ったような反応

      違う。They are horrified when-"は「~すると恐怖を覚えます」辺りが適切。

      >適当な規模のプロジェクトを完了してしまうと、この傾向はますます強まるかもしれません。

      強めちゃ駄目です。ここの"if persistent enough"は「傾向」ではなく本人にかかってる。

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

      >■最速化カルト

      誤読してるっぽいので以下書き直し。

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

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

      >教育と雇用により治癒します

      重箱の隅だけど「卒業と就職」。つまり「学生や研究者にありがちな傾向で世間に出れば治るよ」と言っている。
      --
      署名スパムがウザい?アカウント作って非表示に設定すればスッキリさ。
    • 2個のコメント が現在のしきい値以下です。
  • 納期カルト (スコア:2, おもしろおかしい)

    gonta (11642) : 2008年01月04日 9時55分 (#1275092) 日記
    間に合えばいいよ。で、間に合ったら、もういじりたくないよ。
    --
    -- gonta --
    "May Macintosh be with you"
  • 335 (4199) <335@excite.co.jp> : 2008年01月04日 9時08分 (#1275074) 日記
    根性、苦行系がみつからない
    • Re:あれ? (スコア:5, おもしろおかしい)

      335 (4199) <335@excite.co.jp> : 2008年01月04日 9時41分 (#1275086) 日記
      なんでもかんでもコードを再利用せよというやつが
      GPLに「汚染」されたなんていうんですよね。

      GNUのソース盗んどいて、仕事ができたことにするのはマジでやめてほしい
      そういうのが仕事ならヤクザやってくれよと
    • Re:あれ? (スコア:3, おもしろおかしい)

      >なんでも自分で書きたがる

      たしか「NIH症候群」とか言われてますよね。
      "Not Invented Here"の頭文字を取ったもの。
      古い世代のプログラマーほど罹患しやすい病気だそうで…。

      --
      clausemitz - Twitter始めたお(^ω^)→ http://twitter.com/clausemitz
    • Re:あれ? (スコア:3, 興味深い)

      SteppingWind (2654) : 2008年01月04日 12時58分 (#1275188)

      プログラマにとって、再利用によって得られるのは「楽」であることは誰にでも理解できる
      が実は

      再利用にかかる(調査・改造)工数が新規作成にかかる工数よりも必ずしも小さいとは言えない. それを承知で再利用を強行するのは賭けだったり, 苦痛を通り越して破滅をもたらすパンドラの箱だったりすることも少なくない. だとすれば, たとえ「苦」であることが分かっていても, その限度が見切れる方を選ぶというのもプロとしては合理的なんですよね. その点, 目処がつかなければ捨てることができるアマチュアとは判断基準が異なるわけで.

      もう一つは, 自分が作ったプログラムを自分で再利用する場合と, 他人の再利用を考慮した場合とではドキュメントを含めた製造コストが大幅に異なることでしょうか. 将来の定かではない多くの「楽」のために再利用できるようにしようとすると, 今の「苦」あるいはコストが少なくとも確実に増えるというのは, 再利用のモチベーションを落とすための強力な要因になると思います. このあたりは多分Easy Cultの一流派とも言えそうですけど.

    • 1個のコメント が現在のしきい値以下です。
  • 一つの思想に傾倒しすぎていたり、布教しようとしたり、思想のためにはプロジェクトを犠牲にすることもいとわなかったり
    するのはちょっとね…。

    一つ目の問題は学習の障害になり、二つ目の問題は人間関係の研磨剤になり、三つ目は信用の無駄遣いに繋がる。
  • wavekidsjp (15442) : 2008年01月06日 0時56分 (#1275776)
    カオスなコメント集を見たw
  • thorin (14200) : 2008年01月07日 19時09分 (#1276557)
    このカルトのメンバーはソースコードの美しさを何より重視します。彼らは短くて読みやすいソースコードを書くために時間を浪費しており、既に完全に機能しているコードを何度も手直したり、コメントを一行つけるかどうかに30分悩んだりするなどの行動から識別できます。一見完璧カルトのようにも見えますが、実行効率や機能の完全性などを犠牲にしてもコードの美しさを追求する点が異っています。

    今のところ効果的な治療方法は知られていません。
  • どこにぶら下げたものか、迷った末にここへ。
    元ブログにも指摘するコメントがあったけど、
    一人の人が、複数の「カルト」に属するケースも多いと思います。
    特に「Ease Cult」は、他のカルトとの親和性が高そうな気が……

    一つの長所を得るために、多大な努力を要するのと比べ、
    数多の悪癖を身に付けるのは、非常に容易ですからね。

    // 私はどうだって? そりゃ、もちろん「Cargo Cult」の熱心な信者です。
    // 全てのステートメントには、日本語訳のコメントがあるべきです。
    // そうすれば、ある日突然、使用言語が「ひまわり」や「なでしこ」に
    // 切り替わった場合、速やかに移行できるではないですか。
  • Anonymous Coward : 2008年01月04日 18時16分 (#1275342)
    むしろ実際にコーディングしている奴が/.Jにどれだけいるのやら。
  • >完璧カルトこそ研究者タイプだろう。不確実性カルトは研究者というより石橋を叩き続ける臆病者。

    馬鹿野郎!
    石橋は叩いて壊して鉄橋を架ける仕事を作るんだよ!
  • そんなおおざっぱな区切りじゃダメだろ

  • アラ・カルト
    とりあえず動くように直すけど誰がいつ直したのかわからないように偽装する。

    --
    なんだうごくじゃんで誤魔化す@のりたま(←さいてー)

  • 8個のコメント が現在のしきい値以下です。