valid,invalid

関心を持てる事柄について

『みんなのコンピュータサイエンス』読んだ

コンピュータに対するコンパクトな知識地図」と銘打たれていたので、何か自分の脳内地図に抜け漏れがないかを知りたくて読んでみた。

離散数学、データ構造、アルゴリズム、データベース、コンピュータアーキテクチャプログラミング言語…等々の広大な分野について、駆け足で鍵となる概念を紹介する本。9章にて述べられている「優れたプログラマであれば知っているべきコンピュータサイエンスに関する最小限の知識」というのがこの本の本質であった。

個々を詳解しているわけではないので理解のためには個別の領域について掘り下げる必要がある。何より手を動かして実践していく必要がある。

良かった点

個人的には『CPUの創りかた』『コンピュータシステムの理論と実装』あたりで学んだコンピュータアーキテクチャが簡素で最適化手法を一切省いたものだったので、L1キャッシュなど現代で一般的な最適化をいくつか例示していた点は学びがあった。

また、紹介する概念が現実世界の応用でどのように顕れてくるかにフォーカスしている点も興味を削がない工夫として良かった。

物足りなかった点

逆に言うとそれ以外は自分にとって知識のおさらいという感じだった。

データ構造についていえば『みんなのデータ構造』、アルゴリズムについては競技プログラミングCourseraのアルゴリズム講座、コンピュータアーキテクチャについては『CPUの創りかた』『コンピュータシステムの理論と実装』、データベースやプログラミング言語については実務で学んできた内容でだいたいカバーできていた。

明らかにヤバい抜け穴がないと追認された心持ちではある…が、大きい抜けがあるとしたら離散数学か…。

どういう人向きか

今の自分にとって既知の内容が多かったとはいえ、コンピュータサイエンスを学び始める前に読んでおけば自分の現在地や無知を知るのに有用なのは間違いなかった。


読書メモ: みんなのコンピュータサイエンス - ohbarye