『コーディングを支える技術』読了

はじめに

『コーディングを支える技術 成り立ちから学ぶプログラミング作法』という本を読み終わりました。

なぜこの文法なのか

本の表紙に「なぜ言語設計者はこの文法を作ったのか」と書かれています。

あまたあるプログラミング言語がある中で、幸か不幸かある特定の言語を使ってプログラムを書くとき、しばしば「この文法使いにくいなぁ、分かりにくいなぁ。」と思うことが多々あります。

そんな中、安易に言語をdisったりしていたのですが、その先にある「なぜこのような文法にしたのだろう」という考えには及ぶことはありませんでした。

そこで本書が謳っている「なぜ言語設計者はこの文法を作ったのか」に惹かれ読んでみることにしました。

幅広い内容

本書は全体で12章からなり、基本的なif文から多重継承に至るまで様々な言語の様々な文法にフォーカスを当て説明をされています。

若干Pythonが多めかなと思いますが、Perlのコードも出ますし、Rubyのコードもでます。Haskellのコードも出るので、知らない言語のコードが出ると「ウワァァァン」ってなりそうですが、軽く読み流す感じで良いかと思います。

全体的に読みやすい

プログラミング言語の本は一般的に難しく書かれる傾向にあるのですが、本書は非常に簡潔な言葉で書かれています。時には厳密性を崩してますが、脚注が充実しており、非常に読みやすい一冊になっています。

特定言語の実装スキルが身につく本ではないが・・・

本書はJavaとかJavaScriptとかPythonとかRubyとか、その他数あまたあるプログラミング言語を使った実装スキルが身につく本ではないのですが、新しいプログラミング言語を学ぶために必要となる知識が得られます。

これまで、「なんだか魔法みたいだよなぁ。」と思っていたことが言語設計者の考えがある程度分かれば、魔法も多少は理由がつく文法になるのかなと感じます。