タグ

ブックマーク / nishiohirokazu.hatenadiary.org (7)

  • 「10倍の生産性」をマフラーで例える - 西尾泰和のはてなダイアリー

    「プログラマは能力によって生産性に10倍の差がある」とかいうけどこれはプログラミングに限った話ではない。編み物未経験のXさんと既に何もマフラーを編んだ経験のあるYさんとで、マフラーの最初の5列ぐらいを編むのに掛かる時間で勝負したら、Xさんが編み方の説明を読んでる間にYさんは編み終わる。技術とはそういうもの。 技術によって確かに生産性が10倍変わることはある。しかしゴール設定が「マフラーを編む」ではなく「イケメンZ君の気を引く」なら、Xさんはわざわざ不利なマフラー作りで勝負する必要がない。例えば手料理のほうが得意ならそれでチャレンジすれば良い。こうして生産性の差は消滅する。これが専門化の罠。 Yさんが手編み能力を持っているせいで「手編みマフラー」という選択肢に固執してしまい、冷静な判断を失うことがあるが、残念なことだ。さらには手編み能力を持たないという理由でXさんを見下したり「手編みマフラ

    「10倍の生産性」をマフラーで例える - 西尾泰和のはてなダイアリー
    ghostbass
    ghostbass 2014/02/19
    面白いけどずれてない?
  • 言語女子会2: varは必要?/privateがない? - 西尾泰和のはてなダイアリー

    言語女子会: undefとnullは両方必要?の続編です。 varは必要なの? とあるプログラミング言語が集う女子会にて: Python: JavaScriptちゃんってさ、なんでvarだらけなの? JavaScript: えっ、変? Python: varなんかいらなくない?私ぜんぜん持ってないよ? JavaScript: えー、じゃあ変数をどうやって宣言するの? Python: 宣言っていうか…「x = 1」みたいな代入文があれば変数xが必要なのって自明じゃない?宣言とか必要? Ruby: 必要ないよね。っていうか変数宣言とか古臭くない? JavaScript: そうかなー。 Python: 少しダサイかも。ほら断舎離ブームだし要らないものは捨てなきゃ! JavaScript: 要らないかなぁ、変数宣言。Pythonちゃんは関数がネストしているときに外側のスコープの変数に代入するのって

    言語女子会2: varは必要?/privateがない? - 西尾泰和のはてなダイアリー
    ghostbass
    ghostbass 2012/03/21
    C#は?あの長々と長い型指定しなくてすむよ
  • 2012-03-21

    「近いものをくっつけていこう」(最短距離法)という戦略で階層的クラスタリングをすると、ちょっと離れたところにあるやつが取り残されてしまって「ぽつんと1個 v.s. 残り全部」という2つに分類されてしまうことがある。カラーにすればよかったな、ぽつんとひとつ◯があるのがわかるかな。 じゃあ「クラスタの中の一番遠い点同士で距離を測ることにしよう」(最長距離法)という戦略をとったらどうなるか。まあ、1つだけポツンにはなりにくいんだけども… そこでNormalized Cutの評価基準を使うとこんな感じになります。というのを実装した。いい感じに分かれる。 ところでWard法でも同じようにいい感じにわかれるんだが、この2つの手法の差を見るにはどんなデータに使ってみればいいんだろう。参考文献には「Ward法は球状のクラスタを抽出する傾向が強い」となっているが…。 Normalized Cut v.s.

    2012-03-21
    ghostbass
    ghostbass 2012/03/21
    C#は?
  • 禅 of Python: 20の格言 - 西尾泰和のはてなダイアリー

    Pythonには "Zen of Python"という、Pythonの設計原則を簡潔に20個の格言にまとめたものがあります。それを単純に翻訳しても伝わりにくいだろうなぁと思ったので、訳注をたくさんつけて翻訳してみました。 美は醜より良い 明示は暗黙より良い 単純は複雑より良い 複雑なほうが理解しにくいよりは良い *1 平坦は入れ子より良い 疎は密より良い *2 読みやすさが重要 「特殊なケース」はルールを破るほど特殊ではない*3 しかし、実利は純粋さより重要 *4 エラーを黙って通してはいけない ただし、明示的に黙らせた場合は別 *5 曖昧さに面したら、正解を推測したくなる誘惑を退けよ *6 一つの明確なやり方があるべきだ。そしてただ一つであることが望ましい。 *7 しかし、その方法はオランダ人以外にはとっつきにくいかもね *8 今やる方がやらないより良い しかし、やらないほうが、今 *す

    禅 of Python: 20の格言 - 西尾泰和のはてなダイアリー
    ghostbass
    ghostbass 2012/03/19
    多分、pythonだけの話じゃないね
  • 言語女子会: undefとnullは両方必要? - 西尾泰和のはてなダイアリー

    Twitterのタイムラインが面白すぎて、ついうっかり言語を擬人化して脳内で言語女子会なるものを開いてしまいました。なお、登場人物と実在の人物は1対1に対応しません。 undefinedとnullの両方必要なの? とあるプログラミング言語が集う女子会にて: Perl: そういえばさ、なんでJavaScriptちゃんってundefinedとnullの両方もってるの? JavaScript: えっ、未定義の変数にアクセスした時undefined返したいじゃない? Python: 例外投げて死ねばいいじゃん Ruby: 例外投げて死ねばいいよね Python & Ruby: ねー♡ Java: いやそこは参照型ならnull、数値型なら0で初期化すべきでしょ C: これだから最近の若い子は…初期化にだってコストが掛かるんだからね!デフォルトで初期化するなんて無駄遣いよ!必要な人だけが責任をもって初

    言語女子会: undefとnullは両方必要? - 西尾泰和のはてなダイアリー
    ghostbass
    ghostbass 2012/03/17
    PHPがいない…/JAVAは「未定義の変数?なにそれ?」じゃないの?
  • 多重継承まとめ - 西尾泰和のはてなダイアリー

    JavaはInterfaceという特殊な実装を持たないものだけ多重継承できる。実装を多重継承する仕組みはない。同じシグネチャのメソッドを持っている2つのInterfaceを継承した際にエラーにならないので衝突に気付けない。 Pythonはクラスを多重継承できる。同じ名前のメソッドを持っている2つのクラスを継承した際にどのメソッドが呼ばれるかはC3線形化を使って決定される。see: A Monotonic Superclass Linearization for Dylan RubyはModuleという「なにかを継承することはできなくてインスタンス化もできないもの」だけは多重継承できる。Moduleが別のものを継承できないためメソッドの解決は素朴な探索でOK(include A include BしたらBでの実装が優先) SmalltalkにはTraitという実装の多重継承ができるしくみがあ

    多重継承まとめ - 西尾泰和のはてなダイアリー
    ghostbass
    ghostbass 2010/09/24
    PHP5.4…
  • どんな素数でも一瞬で素因数分解する方法 - 西尾泰和のはてなダイアリー

    きっかけ: NANKI Haruo: どんな素数も一瞬で素因数分解できるようになる壷、売ります。 ライブドアでアンケートを作成してTwitterで告知: どんな素数でも一瞬で素因数分解する方法 - livedoor リスログ 結果: 自信満々で「無理無理www」と言っている人が23.7%もいるけど、どんな素数pを素因数分解しろと言われてもpって返事すればいい。素数pはすでに素因数分解済みなのだから。 「素数はそれ以上分解できない」という意見がいくつかありました。となると「分解」の定義が重要になってきますね。岩波数学事典第3版によれば(p.469) 180 C. 素因数分解 正の整数aは素数の積に分解することができる。かつその分解の結果はただ1通りである。… とのこと。「分解」という言葉の定義は書かれていませんが「正の整数aは素数の積に分解することができる」ということは、素数であっても1であ

    どんな素数でも一瞬で素因数分解する方法 - 西尾泰和のはてなダイアリー
    ghostbass
    ghostbass 2009/02/03
    うわ騙された
  • 1