07/05/08 21:22:40
URLリンク(www.aoky.net)
かなりの試行錯誤の末に、コードを書こうともがいている人たちというのは、単に大きな問題に対して苦労している
のではないことがわかった。やや小さな問題(連結リストを実装するというような)に対して苦労するということでさえない。
彼らはまったくちっぽけな問題に苦労しているのだ。
それで、そういった類の開発者を見分けるための質問を作り始め、私が「Fizz-Buzz問題」と呼んでいる問題のクラス
を考え出した。これはイギリスの学校の子供たちがよくやっている遊び(というかやらされている遊び)にちなんで名付けた。
Fizz-Buzz問題の例はこんな感じだ。
1から100までの数をプリントするプログラムを書け。ただし3の倍数のときは数の代わりに「Fizz」と、5の倍数のときは
「Buzz」とプリントし、3と5両方の倍数の場合には「FizzBuzz」とプリントすること。
ちゃんとしたプログラマであれば、これを実行するプログラムを2分とかからずに紙に書き出せるはずだ。
怖い事実を聞きたい? コンピュータサイエンス学科卒業生の過半数にはそれができないのだ。自称上級プログラマが
答えを書くのに10-15分もかかっているのを見たこともある。