
先週も関数型プログラミングを勉強していました。
JavaScript 関数型プログラミング と はじめてのLISP関数型プログラミング-ラムダ計算からリファクタリングまで一気にわかる
を買って読んでいました。
JavaScriptで解説した本のモナドやファンクターの話が難しすぎたので、”関数型プログラミングができるLISPならもっと簡潔に書けるのでは?”と思って写真のLISPの本を購入しました。
再起プログラミングの話は豊富でしたが、モナドやファンクターに関しては触れていませんでした。
なのでJavaScriptの本を再読しています^^;
mapやfilter,高階関数を使ったメソッドチェーンや、for文を避けて再帰関数に置き換える方法、副作用や純粋関数、クロージャ、カリー化などの関数型プログラミングに出てくる用語の意味は理解できる様になってきました。
関数型プログラミングとオブジェクト指向、手続き型プログラミングとの違いも分かって来たので実際に使うイメージが湧いて来てもいます。
最終目標は関数型プログラミングのいい所を、僕がメインで使っているpythonに活かせる様になることです。まだ副作用のある制御をモナドを使って処理する方法を理解できていないので、もっと基礎を勉強する必要がありますね。
今週も基礎勉強に励んで来週にはpythonで活かす方法を探って行きたいと思っています。
pythonで関数型プログラミングをやる方法は日本語のサイトではかなり少なく、書いてある内容が薄いものが多かったです。
“python functional programming”で海外のページを検索するとまともそうなサイトや本が見つかったので、こちらを参考にすることになりそうです。