最近,Haskellについて学習を進めています。良い参考書(『プログラミングHaskell』)に出会ったので,楽しく勉強していますが,知人より,「高校でHaskellを教えることもないのに,なんでHaskellの勉強をする必要があるのか」という質問をされました。もっともな質問だと思います。
『達人プログラマー―システム開発の職人から名匠への道』で,こんな文があります。
毎年少なくとも一つの言語を学習する— 言語が異なると,同じ問題でも違った解決方法が採用されます。つまり,いくつかの異なったアプローチを学習することにより,幅広い思考ができるようになるわけです
なるほど,そんなこともあるんだろうと思いますが,僕の場合は,違う理由かもしれません。
まずは,
- 新しいことを勉強することは楽しいから
ということがあげられます。今年度,新しい学校に異動してきたのですが,ここでは旋盤も体験することができました。今までやったこともなかった旋盤に触れることは,新鮮で楽しいことでした。同じように,新しいプログラミング言語に触れることも新鮮で楽しいことです。
次に,現在,高校では主にC言語の基本を教えていますが,
- 自分がプログラムを学び始めたときの気持ちを再確認することができる
ということがあげられます。1年生の授業では,つい簡単なところで躓いていると,「エラーメッセージをちゃんと見なさい」などと言ってしまいたくなります(実際,言ってます...)。しかし,自分のHaskell学習に置き換えると,エラーメッセージの理由がピンとこないこともたくさんあります。少なくとも,自分はC言語についてある程度慣れているから,エラーが出たときに,それなりの対処ができるんであって,初めて学ぶ人には,そう簡単でないということを忘れがちになってしまいます。高校生が初めてプログラムについて学ぶときの気持ちが分かるというだけでも,僕がHaskellを学ぶ意義はあるんだろうなと思っています。