2019年に読んだ本を一言コメントと共に振り返る


TL;DR

  • 2019 年に読んだ本を可能な限り思い出して振り返ってみる
  • 詳しい書評を書くのはキツいので一言コメントを添えて

2019 年に読んだ本を思い出せる分だけ一言コメントと共に振り返ってみる。
雑に技術書と読み物に分けて雑多に書いていく。滞在先に置いてある本を手に取ることも多かったので、自分ではあまり読まなそうなタイプの本もちらほら。

技術書

  • すごいHaskellたのしく学ぼう!
    Haskell を書いてみようと思って読んでみた本。文章や挿絵が独特だが、内容は難しめの概念もごまかしなく上手く説明していて読んでいて楽しかった。

  • 量子論の基礎―その本質のやさしい理解のために
    前期量子論から始まってという量子論の本ではなく、公理論的なアプローチで概観を解説してくれる良書。基礎的な内容のみで扱っている範囲は物足りない感じもするが、よく書けていると思った。

  • 量子情報科学入門(途中)
    量子情報の本で量子アルゴリズムの話とか情報理論の話とかが書いてある。うろ覚えだが測定の話が良かった気がする。量子エンタングルメント以降は読めてない。

  • コンピューターハイジャッキング
    シェルコードやバッファオーバーフローによる攻撃がどのように実現されるかを学べる。低レベル寄りを勉強していた折に読んで、ちょうど学んだ知識を使えたし内容も面白かった。

  • SRE サイトリライアビリティエンジニアリング ―Googleの信頼性を支えるエンジニアリングチーム(途中)
    半分も読めてないので挙げるのが憚られるが… ポストモーテムとかの解説をちゃんと読んだのはこの本が初めてだったし、自動化に対する姿勢などは参考になるものだった。

  • ルベグ積分入門
    ちょっと古いけど、書き方が平易でモチベーションの説明も上手いので良い本だった。測度論は学んでも、自分の興味のある対象は大体がルベーグ可測でルベーグ非可測集合の例として出てくるのがかなり人工的に感じるもの(カントール集合とか)だったりして、ご利益が感じづらい気がする(単に自分のレベルが低いだけです)。

  • ふつうのLinuxプログラミング 第2版
    ファイルシステムやプロセスなど Linux の基本的な概念を説明してくれる本。C でライブラリ関数を実装したりするのが楽しい。

  • 集合とはなにか はじめて学ぶ人のために
    どちらかというと読み物枠かもしれない。集合論を軽妙な語り口で解説してくれていて読んでいて楽しい。集合論は数学に詳しくなくても理解できる面白い例が多いのが良い。

  • nginx実践入門(途中)
    なんとなく手にとって、ちょっと nginx を触ってみたきっかけになった。リファレンスマニュアル的な側面も強かった印象。

  • テスト駆動開発
    多国通貨とxUnitの実装を題材に具体的な例でテスト駆動開発を解説する本。文章のスタイルは好みが分かれそうな気もするが、どういうこと考えてコードを書いているかが垣間見れるのは面白いと思う。

  • Modern Operating Systems: Global Edition(途中)
    OS を勉強しようと思って読んだ本。文章量が多く、界隈の知識がない自分はどうしても局所的な記述を追うだけになりがちなので、もうちょっと知識をつけてから再チャレンジすることにした。

  • プログラミングコンテスト攻略のためのアルゴリズムとデータ構造
    アルゴリズムやデータ構造がよく整理されて解説されている本。この本に載っているものを自分で実装してみて良い勉強になった。

  • ディープラーニングと物理学 原理がわかる、応用ができる
    理論物理の研究者が書いたディープラーニングの本。サンプリングの章はよく書けていると思った。

  • 物理学者,機械学習を使う ー機械学習・深層学習の物理学への応用ー
    色々な物理学者が機械学習をどのように物理の研究に利用しているかを解説した本。自分は、ポテンシャルフィッティング、自己学習モンテカルロ法、量子アニーリング、の章が面白かったしためになった。

  • CODE COMPLETE 第2版 上 完全なプログラミングを目指して
    ようやく読むことのできた本。15 年くらい前の本であるがコードコンストラクションを幅広くカバーした良書だった。上巻は防御的プログラミングとか変数名の力とかが面白かった。

  • CODE COMPLETE 第2版 下 完全なプログラミングを目指して
    下巻はコードのレイアウトとかコメントにこれだけのページ数を掛けて解説するのか、と驚いた。チューニングの実例も非自明なのが多くて面白かった。良い本だったので今後何度か読み直すことになりそうだ。

  • 作って理解するOS x86系コンピュータを動かす理論と実装
    アセンブリで X86-32 の OS を作るという本で、最終的に protected mode で test-and-set を使ったマルチタスク実行まで作る。ページ数が多くて細かいところまで書いてある一方、読み進めるのはなかなかしんどかった。

読み物

  • ウィトゲンシュタイン『論理哲学論考』を読む
    著者ならではの語り口で様々な解説や解釈が語られていて読んでいて飽きない本。むかし論理哲学論考を読んで全然分からなかったところが少し分かるようになる。

  • 非線形科学
    パターン形成や同期現象などの興味深い現象を非線形科学の言葉で解説してくれる本。カオスとか力学系の話は軌道安定性の話で機械学習にも通じるところだね。

  • NEVER LOST AGAIN グーグルマップ誕生 (世界を変えた地図)
    マーケティング担当者の一人称視点で書かれていて技術的な話題はお話程度になっているが、ベンチャー企業の激動が生々しく書かれていて読み応えがある。

  • 量子と情報 ―量子の実在と不確定性原理―
    小澤の不等式(や量子測定理論)の解説を提案者自身が書いてくれている本。一般書かと思ったら数学の言葉で説明されている部分も多くて撃沈した…

  • Team Geek ―Googleのギークたちはいかにしてチームを作るのか
    天才の神話から入り、真に偉大なのはコミュニティを運営してそのソフトウェアを一人では作れない素晴らしいものにすることだ的な話を展開する。日本語訳がリーダブルコードを彷彿とさせる(訳者が同じ)。

  • ハッカーと画家 コンピュータ時代の創造者たち
    エッセイ集。格差を考えるとかデザインとリサーチとかが特に自分の興味を惹いたもの。読後についつい Common Lisp を調べてしまった。

  • 人月の神話【新装版】
    ブルックスの法則や銀の弾丸などないで有名な本。それ以外ではコンセプトの完全性の重要性とかソフトウェアエンジニアリングにおける本質と偶有的性質への分解あたりが興味深いところだった。

  • UNIXという考え方―その設計思想と哲学
    Small is beautiful から始まる UNIX の設計思想を紹介する本。そこそこ面白かったが、移植性が大事という話からシェルスクリプトを推していたのがインパクト大だった。

  • ゼロからトースターを作ってみた結果
    取り上げた問題が面白いしゼロから作ることがいかに難しいかを見せつけてくれる本。文章がだいぶ砕けた感じでそこが自分にはちと合わなかった。

  • 情熱プログラマー ソフトウェア開発者の幸せな生き方
    Be the Worst とか You’ve Already Lost Your Job みたいなキャッチーなタイトルのエッセイをまとめたもの。情熱というより、生存戦略というかどう行動すべきかみたいな色合いが濃かった気がする。

  • 宇宙と宇宙をつなぐ数学 IUT理論の衝撃
    ABC 予想を証明したと主張する望月氏の IUT 理論を親交のある数学者が一般向けに解説した本。技術的な詳細はさすがに立ち入らないが、理論の動機やその壮大さを朗々と語りかけてくれる良書。

  • いかにして問題をとくか
    与えられた問題をどうやって解くかを体系的に記した本。次元解析とか問題をいかに変形するか、などはこういう考え方に慣れていない人には実用的なアドバイスになると思う。

  • 〈現在〉という謎: 時間の空間化批判
    時間に関して物理学者と哲学者がコメントの応酬をする本。現代の物理学の理解に基づいて哲学者がどのように時間観を構築するのかに興味があったが、どうも哲学者は独自の議論をしているように感じる。

まとめ

読んだ本の記録を全部取っているわけではないので色々抜けてそうだが、これくらいで終わりにしておく。