初心者のプログラム
Geekなぺーじ : 初心者はプログラミングをどうやって学ぶと良いのだろうか?
最近、初心者がプログラミングを学ぶ(もしくは、初心者にプログラミングを教える)にはどうすれば良いのかが良くわからなくなってきました。
自分の場合はプログラムを書くのが好きで、仕様やテストコードどおりに自分の書いたコードが動く瞬間が一番好きだったりします。でも、大多数の初心者はそうじゃないんじゃないかな、と思います。
- 授業/研究/仕事で必要だから
- かっちょいい Web ページを作りたい
- 面白いゲームを作りたい
とか、そんな感じじゃないのかなぁ。
趣味でやろうとしている人は、適当にとっつきやすいスクリプト言語を選んでいけば良いと思う。ゲームならフラッシュ(Flex含む)かねぇ。Web 系なら PHP とかになるのかな。(ちなみに、Flex も PHP も触ったことはないです)。それで、もしプログラミングが好きになったら、ほかの言語もやってみたりして、そのうちお気に入りを見つけるんじゃないかな。
授業や研究や仕事の場合は、教授や顧客やパフォーマンス上の要件などなど、いろんな大人の事情があって、言語やジャンルが選べなかったりすることが多いと思います。けれども運良く選ぶことができるのなら、「Perl で CGI」がお勧めです。
何故かと言うと、Perl で CGI をやると、Perl, HTML, Webアプリ, Unixコマンド など割と幅広くいろんなことが出来ないとダメなので、幅広く学べる、ってのが一つ。で、掲示板作ったり、RSS リーダーとか、はてなアンテナみたいなのとか、wiki みたいのとか、成果が出ると多分結構楽しいってのがもう一つ。
ただ、条件があって、教える側が初心者をしっかりフォローできることが必須かな。幅広い知識が要求されるから、多分初心者側は何処で嵌ったのかさっぱり分かってないだろうから。教える人は一人じゃないほうが良いかもしれない。
(主催は自分じゃなかったけど)大学院時代に学部生に対して実施したことがあるので、実績もあります。当時は、まあまあうまく行ったんじゃないかなぁ。
# .cshrc とか .emacs とかはオイラが書いたやつを入れてたなぁ。「タブ押せばとりあえず何でも出てくる」って喜んでたけど、あんなクセの強い設定をよくみんな使ってたなぁ。。。
と、こんな感じでいかがでしょう?