質問: Haskell,Clojure,OCamlのうち始めるのにおすすめのものはどれですか? 純粋な関数型言語を学びたいです。 ほかにもあったらよろしくお願いします
回答: **何から学び始めるか** 関数型言語の中でも特にHaskellは、一般的に普及している手続き型言語に比べて、多くの方にとってみると使いこなせるようになるまで時間がかかる場合が多いです。 なのでLisp系で小さいコードを書きながら馴染んでいくのがいいかもしれませんが、ただ関数型言語がどのようなものであるか(関数型言語的なアプローチとはどんなものか)を簡単に知ってみたいという程度であれば、なにも関数型言語を選択せず、JavaScriptで関数型言語的なアプローチをとってみて雰囲気をつかむ程度でもいいかもしれません。 JavaScriptで学ぶ関数型プログラミング http://www.oreilly.co.jp/books/9784873116600/ しかし上記アプローチではHaskellでプログラミングを行うことのメリットの半分も享受できないので、あくまで「関数を主体としたコード設計を用いてプログラミングを行うとどんな感じか」という雰囲気をつかむ程度の理解となります。それでもいい場合もあるかとも思いますので、Haskellを学習しようとして挫折した、あるいは挫折しかかっている、などの場合、箸休めとして上記アプローチもいいかもしれません。 **何を学び続けるか** きちんと理解が進んでくると更に奥によりディープな世界が見えてくるようになるのがHaskellの良さです。そういう意味では簡単に満足せずに学び続けられるのもHaskellの良さであり、ソフトウェアやツールを作る喜びだけでなく、より高度な抽象思考を得られることによる世界の見え方の変化がもたらす喜びを得られるので、学び続けることそのもの自体を目的とする場合であれば最初からHaskellをおすすめします。