コーディングを支える技術 ~成り立ちから学ぶプログラミング作法 の書評です。
結論から言うと、プログラミング言語の「歴史」と「比較」を通して、プログラミングの重要な『概念』の理解を深められるユニークな一冊です。
■ 良い点
・ 基礎的な概念を高度な視点で見直せる
・ プログラミングの概念の由来がわかる
・ 「へぇ~」と言いたくなるトリビアが豊富
・ 読みやすくスラスラと読める
・ コラムが興味深い
■ 悪い点
・ 特にない。あえて言えば複数言語既習者でないと少し難しいかも
■ 総評
プログラミング言語における、比較言語学であり、また歴史言語学ともいえる一冊です。もっとも、言語学といっても身構えるものではなく、楽しく読める雑学書に近いので、気軽に読み通せます。全体で240ページほどとコンパクトにまとまっているのも良いです。
内容的には、言語にとらわれない汎用的な概念(たとえば、型、変数、関数、クラス等)について、その成り立ちや、言語間の比較を通して理解を深められるようになっています。
ただし、言語間の比較という視点であるため、C言語やC++、Java、そして、perlやruby、python等のスクリプト言語をある程度は知らないと少し難しいかもしれません。もっとも、全部を知っている必要もないですが。
プログラミング言語を2つ、3つと学習した頃に、本書を読むと重要な概念の整理になるのでお勧めです。
個人的には、『例外』の章や『クラス』の章はかなり興味深く読めました。なかでも、理解しづらい「クロージャ」や「MixIn」、「トレイト」等の成り立ちや意味が理解できたのは大きな収穫です。『関数』の章では、「再帰」などの節が秀逸です。
その他にも、雑学的なトリビアが豊富なので、一読しておくと薀蓄としても役に立つかもしれません。
プログラミングの概念について、成り立ちや意味から学習して理解を深めたい人にお勧めの一冊です。