中安拓也のブログ

プログラミングについて書くブログ

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

はじめに

Real World HTTPを読んでいたら出てきたので購入した。

技術本をなかなか読了できないのが悩みだったが、この本のような固定レイアウトではない、スマホで読めるkindle本だとスキマ時間で読めるので読破しやすい。

感想

前半よりも後半の方が楽しく読めた。この本を読んだことで今まで興味がなかった分野(計算量と使用メモリ、各プログラミング言語の構文で使用しているデータ構造が何かなど)に関心を持てるようになったので今後勉強していくきっかけになりそう。

すでに知っている知識についても、今まで読んでいた入門書とは違った説明をしていたため、理解が深まった気がする。例えばDIについては、継承のツリーが深くなることや、多重継承によって密結合になってしまうのを防ぐためにDIを使うことができるという風に紹介していて新鮮に感じた。

あと、自分が歴史系の本を好きなので、入門書と違ってプログラミング言語の歴史について語るボリュームが大きい本書のような本は読んでいて楽しかった。

読書メモ

以下、読書中にしていたメモ

  • 難しくて先に進めない...ということは一切ない。読みやすい

  • 型推論という概念を初めて知る

  • いろいろな言語が例文として出てくるので勉強中のC++の復習にもなった

  • 連結リストと配列、どちらのコンテナを使用しているのか、言語ごとにまとめたい。連結リストと配列で計算量が違う

  • 言語ごとに使用しているコンテナと構文をマッピングして計算量について整理したい

  • 計算量だけじゃなくメモリ量も考える必要がある?

  • メモリをとるか計算量をとるか

  • utf-8とUnicodeって関係あるの??知らんかった

  • utf-8とUnicodeは大体同じ

  • UNIXのプロセスはメモリを共有しない

  • Mix-inってアイスのトッピングとかのイメージからきてるらしい

  • 委譲を意識して使ってこなかったのでこれからは多用したい

  • 委譲とDIって同じ文脈なのか

  • 継承のツリーを深くしてはいけない