FizzBuzz書けない奴はプログラマじゃない

なんだか2〜3周ほど周回遅れの議論を見た気がする.

知ってれば一瞬、知らなければ問題の得体知れなさに惑わされず筋道立てて思考し、きちんとコードへ落とすのが重要。程度の差はあるんだけど、FizzBuzzと似た性質を持つ問題だと思う。

おそらく全然違う性質の問題.

この二つが同じに見えるということは,プログラムやアルゴリズムの特性を読み取る能力が全くないんじゃない?*1

= 要らないんだよ
普通の職業プログラマなら、「優れたアルゴリズムを実装したプログラム」と「お金になるプログラム」が違うってことは分かってるはず。
もちろん「優れた作りでお金になるプログラム」も一定は存在する。継続性を重視する多くの企業において、こういったものが生まれるチャンスは平均レベルの底上げによるものか、さもなくばごく一握りのスタープログラマによる(当然属人性が高い)。

うーんと,この人自身はプロマネとか人事あたりの人で,プログラミングが全くできない人なのかなという感想.まがりなりにもプログラマーであれば,たとえアマチュアの初心者でも,こういう意見にはなるはずがない.*2


要る要らない以前に,FizzBuzz問題が解けないプログラマなどというものが有り得ない.

もうなんとなく「あんた自身が,まずは再帰呼び出しくらいは書けるように勉強してから出直してこい」なレベルの気がする.*3

多くのプログラミング学習者が理解に苦しむ問題を調査した所、以下のような結果が得られた。

  1. 代入とシーケンス実行
  2. 再帰と繰り返し実行
  3. 並列実行
http://d.hatena.ne.jp/JavaBlack/20120520/p1

プログラマとしては並列実行まではできてもらわないと困る.ここまで出来て,ようやく初心者プログラマー

再帰呼び出しくらいはスラスラ書けないと,初級レベルのプログラマにさえなれない.

FizzBuzzは繰り返し実行という,超初心者レベルができない人を足切りするレベルの問題.これができない人は論外なレベル.さらに酷い人だと「代入とシーケンス実行」でつまづく人もいるそうな.


追記:関連ネタ

笑って良いのか泣いて良いのかわからん!*4

http://b.hatena.ne.jp/entry/www.muo.jp/2012/08/fizzbuzz.html

  • id:tmtms もしかしてこの長いエントリは「FizzBuzz書けない奴m9(^Д^)プギャー」をFizzBuzz を知らないプログラマーを馬鹿にしている」という誤解から生じているのではなかろうか
  • id:celaeno_w FizzBuzzは「優れた()アルゴリズム」なんて求めてない。/一部の人がWEB上で「如何に短くできるか」とか遊んでるの見て、勘違いしたんかな?

なるほど.
そういう可能性もなくはないか.しかしそれにしても,論理展開がおかしすぎる気が.

それにそういう勘違いするということは,ちょっと検索して調べることさえやってないってことだしね.

この例は出そうと思って忘れてた.

クイックソートはやったことはなくてもいいけど,知っておくべきだし,やっておいた方が良い.アルゴリズムを理解し創る能力はプログラマの基本中の基本だ.では新しいアルゴリズムを創る能力はどうやれば鍛えられるか?まずは既存のアルゴリズムを学び,それを実装することだ.*5

これに対してFizzBuzzは知らなくてもいいけど,出来ないと失格なレベル.クイックソートとはわけが違う.


  • id:te2u FizzBuzz問題は、構造化プログラミングにおける「順次」「反復」「分岐」の認識・理解が意外と難しい、ということを示しているものだと考えてた。/だから「要らない」のではなく「できない」のではないかと。
  • id:sawat FizzBuzzは『高度なアルゴリズム』じゃなくて、『プログラミング基礎:繰り返し・条件分岐』の問題だよ!あるいは自然言語で書かれた簡単な仕様を理解してプログラムに落とせるか。
  • id:dekaino 直接は金にならなかったり役に立たない知識を「教養」と呼ぶのだ。無教養でも土方労働はできるが、イノベーティブな価値創造は難しかろう。アリの話は衝突反転を全無視しても答えは一緒ってところに気付けばOK
  • id:monjudoh FizzBuzz出来ない人はプログラム設計書と一対一対応するコードトランスレートの仕事しかできないでしょ。プログラム設計書を書いてる人に直接コード書かせて、FizzBuzz出来ない人クビにすればいいと思うよ。

その通りのようです.

さすがに職場でそういう人を見たことは無いですが,そういう人が書いたであろうコードなら見たことがあります.そのコードの修正は悪夢でした.

  • id:nbsn 2012年度の小学生の学力テストで、半数が理科を学んでも役に立たないと考え、結果は「思考力と表現力が弱い」となったそうで。なんか似てるね。

なるほど.

アルゴリズムや数学や物理等々について知らない人ほど,それの応用が理解できずに「役に立たない」と思ってしまう.実は日常的に利用して,その恩恵に与っているにもかかわらずね.*6

Google PageRankの数理 ―最強検索エンジンのランキング手法を求めて―

Google PageRankの数理 ―最強検索エンジンのランキング手法を求めて―

*1:「違いの分からない男の(ry」

*2:それとも分かった上でポジショントークしてるとか??それだともっと悪質.

*3:トラックバック送ろうかと思ったら,その機能がないとは.

*4:はてぶコメント読んだら,もっと恐ろしい世界が待っていた!

*5:http://d.hatena.ne.jp/JavaBlack/20110923/p1

*6:自分も小学生の頃はそうだったけどねー.そういう誤解が許されるのは中学生くらいまでだと思う.