回答編集履歴
1
「関数型言語の長所」と書いていたところを、「関数型プログラミングの長所」に変更しました。
answer
CHANGED
@@ -1,9 +1,11 @@
|
|
1
|
-
最近よく言われている関数型
|
1
|
+
最近よく言われている関数型プログラミングの長所(簡潔なコード、安全でバグが少ない、並列化しやすい)を学んで使いこなせるようになりたい、ということでしたら、やはり、MLの特徴を持った言語である、OCamlとHaskellをおすすめします。Clojureは、関数型パラダイムの要素も持っていますが、どちらかというと、Lispパラダイムという独自のものに属していると理解しています。
|
2
2
|
|
3
3
|
では、OCamlとHaskellのどちらから始めたらいいかというと... 難しいですね、片一方で済むくらい良書に恵まれていればいいのですが。私はどうしてるかというと、プライベートの時間で、両方同時に学んでます。(そして、仕事では強固な分散システムの開発をしているので、これらとは別に、5年ほど、Erlang/OTPを使ってます。)
|
4
4
|
|
5
|
-
日本語で関数型
|
5
|
+
日本語で関数型プログラミングの基礎を学ぶには、OCamlの方がよい書籍が揃っているように思います。ですから強いて言えば、OCamlから始めて、その後は、Haskellも並行して学ぶというのがおすすめでしょうか。
|
6
6
|
|
7
7
|
OCamlの日本語の書籍では「プログラミングの基礎」(浅井健一 著)の評価がいろいろな所で高いのですが、私は海外に住んでいるので入手できません。「プログラミング in OCaml」(五十嵐淳 著)は、電子版もあるので私も持っています。比較はできませんが、基礎から丁寧に解説されていて、良い本だと思います。
|
8
8
|
|
9
|
-
その他、関数型
|
9
|
+
その他、関数型プログラミングの長所を解説した本でお薦めなのは、「関数プログラミング実践入門」(大川徳之 著)です。こちらは、Haskellと他の言語で書かれたプログラムを比較しながら解説されています。あと今読んでいる本で「Scala関数型デザイン&プログラミング」(Paul Chiusano、Rúnar Bjarnason著、株式会社クイープ 翻訳)もなかなかいい感じなのですが、これはある程度関数型プログラミングに慣れてからでないと、ついていくのが難しいかもしれません。
|
10
|
+
|
11
|
+
(編集:「関数型言語の長所」と書いていたところを、「関数型プログラミングの長所」に変更しました)
|