プログラマにプログラムが書けない
はてなの注目URLに載ってました。面白い記事といえば面白いのですが、いまいち実感がわきませんでした。
この中に、「Fizz-Buzz問題」と呼ばれる簡単な問題があるらしいです。
1から100までの数をプリントするプログラムを書け。ただし3の倍数のときは数の代わりに「Fizz」と、5の倍数のときは「Buzz」とプリントし、3と5両方の倍数の場合には「FizzBuzz」とプリントすること。
一見簡単そうです。試しに書いてみます。
for (var i:uint = 1; i <= 100; ++i) { if (i % 3 == 0 && i % 5 == 0) { trace("FizzBuzz"); } else if (i % 3 == 0) { trace("Fizz"); } else if (i % 5 == 0) { trace("Buzz"); } else { trace(i); } }
これであっているでしょうか?動作テストはしていません。
この問題を見せられて、2分で紙に書き出せと言われた場合、僕は正直できるかどうかは微妙です。教育機関でまともにプログラミングというものを習わなかった野良プログラマでは少々ハードルが高かったのかも。
結局プログラマにとって何が一番大事かって言われれば、僕は「勉強の仕方が分かっていること」だと言いそうですが、今回、「こういった小さい問題に対して素早く適切なコードを書けるだけの経験値」が大事なのかもとも思ったり。
なんか話がずれてきました。