コーディングを支える技術読んだ

わかりやすい文章に加えて楽しい内容だったので比較的早くよめた.「どの言語を使えば安定か」ではなくて,言語の特性や思想を理解する力をつけ,それにあったコードを書くという,他の言語でも使えるような能力を身につけようという考えを説いている.「何をどう解決するか」というのは言語ごとに思想が違っていて,「この言語は☓☓だから糞だ!!」と叫ぶのはナンセンスであり,そういう実装にしたのには必ず言語作者が目指した世界っていうのがあるから,まずはそこを考えようよ,という内容が前半部分.四則演算の書き方の違いとかで言語の違いを解説してくれる.

 途中からgotoの話が出てくる.gotoはリーダブルコードでこてんぱんに叩かれてたから脊椎反射で「糞だ!!」という印象を持っていたけど,if elseとかwhileとか例外処理とかはgotoのジャンプという概念の上で成り立っていてその流れのものだという事がわかる.何気なく使ってたけど,その辺り分かってなるほどという感じ(if elseや例外はgotoの概念そのままではしんどすぎるからできた).例外も言語による違いとか書いてる.

 他にも動的スコープと静的スコープの話とかあって,静的スコープとかこれ普通じゃんと思うけど昔はそうではなかったとか言語によってどう静的スコープになるかが違うかとか,型とは,動的な片付けは内部こうなってるとか,C言語の文字列で変な挙動させて面白い結果が出てる様子とか,オブジェクトとは,継承とは,とか書いていた.