関数型プログラミングについて知りたくて『関数プログラミング実践入門』を読んだ。Rも関数型言語だったりJava 8で関数プログラミングに由来するラムダ式が導入されたり、とこれから関数型プログラミングの設計パラダイムに沿って考えることも多くなるだろうし。
本書で扱う関数型プログラミング言語はHaskell。Haskellに加えて、比較できるように他プログラミング言語が載っているのがありがたい。未知ものをいきなり噛み砕くのは難しいから、こうして既知のものと並べてもらえると未知の領域への一歩が踏み出しやすい。
でも、本書のメイントピックはHaskellじゃなくて(そうならタイトルに含めているだろうし)、より抽象度の高い関数型プログラミングのパラダイム(「関数型/Haskellっぽい」プログラムの設計/実装、考え方)だと思う。関数型プログラミング言語で書けば関数型プログラミングになるわけじゃない(オブジェクト指向言語で手続き型プログラミングできるのと同じだ)。
だから、Haskellについて知るだけじゃ難しいこと――パラダイムの他の言語への応用ができる。自分が主に書くプログラミング言語は、HaskellじゃなくてJavaやRだから、どう応用できるか考えながら読んだり写経したりしている。特にRは暗中模索している感が強いけれど、おかげで方向性が見えてきたような気がする。
ちなみに、進み具合は一通り読んで第6章の途中まで写経したところ。都度都度のツイートは自分の『関数プログラミング実践入門』関連ツイートにまとめている。
本書で扱う関数型プログラミング言語はHaskell。Haskellに加えて、比較できるように他プログラミング言語が載っているのがありがたい。未知ものをいきなり噛み砕くのは難しいから、こうして既知のものと並べてもらえると未知の領域への一歩が踏み出しやすい。
でも、本書のメイントピックはHaskellじゃなくて(そうならタイトルに含めているだろうし)、より抽象度の高い関数型プログラミングのパラダイム(「関数型/Haskellっぽい」プログラムの設計/実装、考え方)だと思う。関数型プログラミング言語で書けば関数型プログラミングになるわけじゃない(オブジェクト指向言語で手続き型プログラミングできるのと同じだ)。
だから、Haskellについて知るだけじゃ難しいこと――パラダイムの他の言語への応用ができる。自分が主に書くプログラミング言語は、HaskellじゃなくてJavaやRだから、どう応用できるか考えながら読んだり写経したりしている。特にRは暗中模索している感が強いけれど、おかげで方向性が見えてきたような気がする。
ちなみに、進み具合は一通り読んで第6章の途中まで写経したところ。都度都度のツイートは自分の『関数プログラミング実践入門』関連ツイートにまとめている。