Haskell のすすめ

Ubuntu で Hugs をインストールしたのがきっかけで、長い間気にはなっていたが手を出さないようにしていたHaskell が意外にわかりやすいプログラム言語だということを知ることができた。

このブログで紹介したのは、少々プログラミングをしたことがある程度の管理人が、Haskell を学ぶ上でどういうところに引っかかって、どういう所に目から鱗の思いをしたかという体験記だ。管理人のプログラミングの知識は初心者に毛が生えた程度なので、Haskell をやりたいがちょっと抵抗があるというひとの呼び水になってくれればありがたい。

結論から言うと、Haskell は絶対知らなければ損をするプログラム言語だということだ。それから、Haskell は使うものの立場から言うと、数学とはあまり関係がない。数学ができなくても、Haskell を十分楽しんで使うことができるということ。Haskell の紹介者があまりに、純粋関数型やら、遅延評価やら、圏論やら、モナドなどの用語を連発したために、そんなことは少しも知らなくても Haskell は十分使えるし、楽しい言語なのだということを覆い隠してしまっているような気がする。

Haskell はたしかに普通の手続き型のプログラミング言語とは違う感覚が要求される。それは、リスト操作が主になっているプログラム言語であるということ。そのため、再帰的な定義が頻発するということ。ループや条件判断などの制御構造があまり使われず、関数の定義はパターンマッチで行われているということ等だ。

こう書くといかにも分かりにくく感じられるが、このブログの一連の記事でも分かるように、実際には頭の中で作るイメージとの親和性が高く、考えたことをそのままプログラムに落とし込むことができるといってもいいくらいだ。また、いろいろなデータ構造をリストという形で統一的に扱うことで、情報処理の視覚化が簡単になり、プログラムの作成や解読が楽になっている。再帰的な定義のコツに気がつけば、ループも分岐もないプログラムをコンパクトに記述できるようになる。慣れてくると、ループや分岐の世界には二度と戻りたくないと感じるくらいだ。

最後に、Haskell は難しいプログラミング言語ではないと強調したい。難しいのは説明の方で、実際に使ってみるとこんなにわかりやすいものはないくらいだ。とにかく、Haskell を勉強するのではなく、使ってみることをお勧めする。
[PR]
by tnomura9 | 2009-08-09 06:47 | Haskell | Comments(0)
<< Haskell の入出力 直観的なプログラミング >>