おもに Groovy やアジャイル開発について勉強していることを書き散らしてます。
わたしのひとりごとが、だれかのお役に立てればと…

プログラミング言語の理解を深める - 『コーディングを支える技術』

今回の読書感想文は、たまたま本屋さんで手に取って
衝動的にそのまま買ってしまった『コーディング支える技術』です。


言語の学び方

冒頭で言語の学び方は3つあるとしています。

・比較から学ぶ
・歴史から学ぶ
・作ることで学ぶ

そのうち、比較から学ぶ・歴史から学ぶのスタンスで
プログラミング言語の文法のなぜについて解説されています。

比較から学ぶ、あいまいな理解

Java は文法を理解しているのですが、実は JavaScript は文法をよく理解していなかったりします。

Java の文法をベースに考えたり、よくわからない所は適当に実装してうまくいったら
OK みたいな感じになります。
たとえば、JavaScript の undefined はあいまいな感じでした。

この言語ではこうだけど、違う言語では同じものでも違う扱いになる、違う結果になる事例が
たくさん紹介されています。

主たる言語以外の言語の文法について、あいまいな点がいくらか整理できたのはよかったです。

歴史から学ぶ、文法のなぜ

文法って、こういうもんだと決めつけて理解して現在に至っているものが実は多いです。

この本では、よくある文法をゼロから成り立ちを勉強することができます。
なぜこの言語では例外処理はこういう文法なのか、そういったようなものです。

文法が作られた理由や経緯、メカニズムが紹介されていますが、いつも使っているだけに
興味深い内容が多いです。
文法が作られた理由を知ると、これほど理解が進むのかと驚かされました。

さいごに

8章の「型」についての解説は、Amazon のレビューにもあったのですが
非常にわかりやすく、納得感がありました。読む価値があると思います。

浮動小数点数がやっと理解できました。
情報処理試験で次からはそれ関連の問題が出ても太刀打ちできそうです。