3月に読んだ本

今更ですが3月に読んだ本について書きます。

今月は3冊読んだ。基本的には1ヶ月に4冊読めたらいいなと思ってるけど読めたり読めなかったりですね。

 

プログラミングの基礎

プログラミングの基礎 *1 | 浅井 健一 |本 | 通販 | Amazon

内容としては、OCamlの入門書といった内容。演習問題もしっかりやると結構重いが、やると力つくなと感じた。関数型言語に入門したかったのと、良書との評判を見かけたので読んでみた。評判通り良書だった。OCamlの基本的な操作に加えて最後はメトロネットワーク問題を解くプログラムをつくるという流れだったが、関数型言語に特徴的ないくつかの要素、参照透過性や高階関数などに親しむことができた。関数型言語に触れてみたかった理由のひとつとして、新しいパラダイムの言語に触れることで普段書く(関数型でない言語の)コードの幅を広げたいということがあったが、これまで手続き的な考え方しかできていなかったところが、多少データの構造であったり処理の構造に気を使って処理を書くようになっとと思う。

またこれまで基本的にLL(軽量プログラミング言語)しか触ってこなかったが、OCamlの強い静的型付けを経験できたこともよかった。ほかにもメトロネットワーク問題を解くなかで木構造を実装するところがあったが、こんなにエレガントにかけるんだ。。と驚いたり、学ぶことの多い一冊だった。

OCamlで何か作れればと思っているけれど、未だに何も手を付けられていない。。。

 

オブジェクト指向でなぜつくるのか

オブジェクト指向でなぜつくるのか 第2版 | 平澤 章 |本 | 通販 | Amazon

図書館で借りて読んだ。この本はかなりさらっと読めた。一番勉強になったと感じたのが、クラスがユーザー定義の型としての意味合いをもっているということ(他にも継承によるコードの再利用といった側面もあるが)。オブジェクト指向の概念が何故捉えづらいのかといったテーマから本が始まっておりそこへの応答に比較的量が割かれていたけれど個人としては、オブジェクト指向を実現する言語仕様についてわかっていない部分が多かったのだなと感じた。

 

プログラマが知るべき97のこと

プログラマが知るべき97のこと | 和田 卓人, Kevlin Henney, 夏目 大 |本 | 通販 | Amazon

 

xn--97-273ae6a4irb6e2hsoiozc2g4b8082p.com

 

図書館で借りて読んだ。97個の独立したエッセイが掲載されている本なので、あまりピンとこないものもあったり、勉強になったと感じるものもあったりといった感想。

他にもたくさんあるけれど、ここらへんが参考になった。

xn--97-273ae6a4irb6e2hsoiozc2g4b8082p.com

xn--97-273ae6a4irb6e2hsoiozc2g4b8082p.com

xn--97-273ae6a4irb6e2hsoiozc2g4b8082p.com

 

コード書くのもそうだけど他人のコードを読むのが力つくというのは、自分がLaravelのコンテナのソースコードを読んでから解像度がコードに対しての解像度がかなり上がったという経験からも実感をもって感じていたので意識的にやっていきたいと思うTipsだった。

 

4冊に届かなかったのが残念。。。

*1:Computer Science Library