概要
「関数プログラミング実践入門」という本を読みました。
この本の感想について書いていきます。
読んだ理由
プログラミング言語は世の中にたくさんあり、使われる場所によって、利用されるプログラミング言語は異なります。しかし、プログラミング言語が異なるからと言ってそれぞれが全く別のもので、いちから学びなおさないかというと、そのようなことはありません。つまり共通した何かがあるということです。
今回読んだ増補改訂をした関数プログラミング実践入門は、関数型言語に分類されるプログラミング言語の思想や考えが分かるような本になっています。関数型言語の思想や考えは、現在も利用され発展を遂げているプログラミング言語でも取り入れられているものになり、勉強する価値はあると私は考えているため、今回はこちらの本を読みました。
感想
こちらの本では、主にHaskellという関数型言語を例に、関数型言語で登場する思想について説明をしています。特徴として、Haskellを例にしているということでHaskellのサンプルプログラムがたくさん登場し、他のオブジェクト指向言語などと比較してどうなのか、関数型言語を利用するとどのようにソースコードが変化するのか説明しているため、分かりやすいです。
これは私だけの感じることかもしれませんが、大学の授業で学んだ型の考えが関数型言語で登場したのはとても面白いと感じました。特に、数学的な表現が、ほぼそのままソースコードとして落とし込められる場面があり、学んだことはこのように活用されるのかと実感できました。
Haskellでは型が重要で、この型を利用したプログラミングが印象的です。Javaのようなオブジェクトに注目したプログラミングと異なるため、ソースコードががらりと変わるというものもあり、しっかりと考え方を身につけておかないと、ちゃんと関数型言語を使うのは難しいと思いました。
後ろの方の章には、特に現在のオブジェクト指向言語と呼ばれるプログラミング言語で取り入れられている関数型言語由来の仕組みを、Haskellと比較してどこまで取り入れられているのか、制限はあるのかなど説明しています。この章では、関数型言語の考えがどこまで現在の主流のプログラミング言語に取り入れられているのか分かり、とても面白い章でした。
さいごに
本の内容はとても興味深いものでした。
しかし、これを読んだからと言って関数型言語を扱えるようになる、Haskellを扱えるようになるかというと、あまりそうとはいえなさそうです。言語を教える本ではないため、ある意味当たり前とはいえますが、そのようなものを期待して読む本ではないです。
こちらの本は、関数型言語の雰囲気を知るにはとてもいい本のように思います。もしよければお手に取ってみることをおすすめします。