Functional JavaScriptを読んでいます。
Functional JavaScript: Introducing Functional Programming with Underscore.js
「Functional JavaScript」はUnderscore.jsというライブラリを使用して、関数型プログラミングのテクニックを用いてJavaScriptのコードを書こう!という参考書です。
FP(Functional Programming)の流儀に沿うことで、安全でテストしやすくまたコード量も減らせて生産性も向上するよ!という趣向らしいです。
まぁでも、学習コストが高くて理解するのがなかなか大変なんですけど。
それでも、最近やっと関数と関数を合成して新たな関数を作成する(関数合成)など、関数型プログラミングの楽しさが理解できてきたような気がします。
勉強がてら、「Functional JavaScript」にあったサンプルを元にCSVをパースするコードを書いてみました。
csvを配列に変換する関数と、配列から連想配列を作成する関数を合成して、csvを連想配列に変換する関数を作成するという流れになってます。
関数と関数を合成して新たな関数を作成する過程がパズルみたいで楽しいなと。
FPに関しては、まだまだ理解していないことばかりなので、今後も勉強を続けていきたいなと思います。