読書通帳⑥

読んだ本

・アセンブラで読み解くプログラムの仕組み
 https://gihyo.jp/dp/ebook/2011/978-4-7741-4890-8

内容と感想

数年前に読んだことがあったのですが、そのときは「ふーん」くらいの感想で特に印象に残ってはいませんでした。

低レイヤを知りたい人のためのCコンパイラ作成入門 を読んで実際に関数を実装したところくらいでもうちょっとアセンブラを理解したいなと思って、再度読みました。

以前よりもアセンブラに慣れてきたからか、思ったよりさらっと読めたのと、内容も理解できた気がします。

アドレッシングや関数の呼び出しや引数の取り扱いは低レイヤを知りたい人のためのCコンパイラ作成入門 でやっている内容とほぼ同じ(ただし、低レイヤ〜がAMD64で、アセンブラで〜がx86なので、引数の渡し方が違ったりはしています。)だったので、本当にスッと理解できた気がします。
気だけかもしれません。

共有ライブラリのところが、低レイヤ本の方ではやっていないテーマのようで、共有するための工夫というか苦労というかあるのだな、と分かって面白かったです。

最後の「継続は続く」はもともと、継続をよく理解できていないので、やっぱりあまり理解できませんでした。

今度はSchemeの勉強かな。

ちなみに

次は、[試して理解] Linuxのしくみ を読む予定です。

家にいる時間が増えてきたので、しっかりと力をつけたいと思います!

読書通帳⑤

読んだ本を記録しておくエントリーです。

読んだ本

プログラマの数学
https://www.hyuki.com/math/

ただし、古本屋で買っていた初版の方です。

内容と感想

目次などは著者のページで公開されているとおりです。

プログラミングの基本となる数学をとても平易な文章で書かれていて読みやすいです。最近、ちゃんと本を読んでいなかったので読みやすいものと思って本棚から取り出して読んだのですが、正解でした。
※私は大学では一応理系だったので、数学が全くできないわけではないですが、それほど得意だったわけではありません。

最後の計算不可能な問題のところが不完全な理解のまま読み進めてしまったので、別の機会に改めて読み直した方が良いかも、という気がしています。

論理や数学的帰納法、再帰などはプログラミングする上で理解しているのとそうでないのとでは、だいぶ違ってくる気がします。そのあたりの理解の導入にぴったりな本だと思います。

最後に、読書案内がついているので、そこから何を読むと良いかもわかり安心ですね。ちなみに何冊かはすでに読んだものもありました。

ちなみに

これで結城さんの著書を読んだのは6冊目です。どれもとても良い本ばかりです。今までに読んだ本は以下のとおりです。

  • 増補改訂版 Java言語で学ぶデザインパターン入門
  • 増補改訂版 Java言語で学ぶデザインパターン入門 マルチスレッド編
  • 新版 C言語プログラミングレッスン 文法編
  • 暗号技術入門 第3版
  • 数学ガール