以前、Webサービス初心者とエロサイト作成による学習効果を真面目に考えてみたという記事を書いてみました。今回は「アホプログラミング」作成の有効性を考えてみましょう。
プログラマー業界ではおなじみの「世界のナベアツ」問題
ここでいう「アホプログラミング」と言うのは、世界のナベアツ問題です。
- 「3の倍数と3の付く数字でアホになり、5の倍数で犬っぽくなります」
というギャグでおなじみの、あの「世界のナベアツ」です。
「またくだらんことを始めやがって…」
プログラミングに興味のない人からすれば、感想はそんなものかもしれません。しかし、このギャグは、プログラマーの業界では、初心者に出す課題としてかなり有名な問題です。
試しにGoogleで「世界のナベアツ」ではなく、「世界のナベアツ 問題」とキーワード検索をしてみてください。
前者ではナベアツさんのネタや個人的な話題で、上位検索に引っかかっていたのが、後者になるとプログラミングの問題が上位表示されます(2014年3月13日現在)。
世界のナベアツ問題を解くことによる学習効果
世界のナベアツ問題を解くなんていかにもアホっぽいんですが、それとは裏腹に結構な学習効果が得られると思います。
1.FizzBuzz問題に通してif文の理解が進む
プログラミング初心者のための格好の課題として、FizzBuzz問題と言うものがあります。
FizzBuzz問題は任意の数の倍数のときに”Fizz”とか”Buzz”とかを表示させることになるので、if文(条件分)の使い方について練習できます。
2.やらされ感が軽減される
初心者のうちはプログラミングの知識が乏しいものですから、最初のうちはどうしてもWebや本に書いているサンプルを「写経」するのにとどまりがち。ず~っと「写経」をしているとやらされ感が募り、どうしても「飽き」が来ます。
世界のナベアツ問題は課題としてもそれほどハードルも高くなく、ネタの動画が転がっているので、自発的に取り組むことができるでしょう。
3.周りの協力を得られやすい
はっきり言ってアホっぽいネタです。けれどもその方がかえってくそ真面目なネタでコーディングの練習するよりも「オレも、オレも」と乗っかって来れるような気がします。アホは人間が本来持つ遊び心をくすぐる、とでも言うのでしょうか。
そうなってくると、初心者がプログラミングでつまずいたとき、上級者の方が、「もっとおもろくなるコードがある!」といってアドバイスをしてくれるかもしれません。
※すいません。私の願望がかなり混ざっています。できる限り自分の頭をひねるようにします。
結論というか現状
初心者がつらつらと世界のナベアツ問題について書いてきましたが、私のコーディングの現状は、こんな感じです。
「3の倍数と3の付く数字でアホになり、5の倍数で犬っぽくなります」というギャグのうち、15と30(つまり3と5の公倍数)のときの表示が上手くいっておりません…(15と30のときは「アホワン」と表示させたい)
ネタの動画を見ていると、他にも「アホっぽい」ネタを再現できそうなので、しばらくは、JavaScriptとPHPで世界のナベアツ問題にチャレンジしていきたいと思います。