最近読んだ情報系の本


最近読んだ本の中で、情報系に絞って「読んでよかった」と感じたものをメモしていこうと思います。
我ながら偏ったものを読んでいるなぁと思いますが、誰かの何かに参考になれば幸いです・・・

1.コンピュータシステムの理論と実装―モダンなコンピュータの作り方

まずはオライリー出版の『コンピュータシステムの理論と実装 ―モダンなコンピュータの作り方』です。

オライリー出版は言わずと知れた良書を大量に出版してる出版社です。本書も例に漏れずとにかく勉強になる内容でした。
※ちなみに著者(Shimon Schocken)のwebページにいくと、無料講義を視聴できたりもします。

NANDからテトリスへ

本書のテーマにもなっているコピーですが、
NANDなどのロジック素子→機械語→アセンブラ→VM→コンパイラ→OS→高水準言語
という流れで自分の手で一から作成していくことになります。
コンピュータの原理的な仕組からJavaのような高級言語がコンパイルされるまでの手順を実際に手を動かして学ぶことができます。
ハードウェアの構築はHDLを用いるため、全て一台のPC上で完結するという素晴らしい仕組みも提供されます。
通常であれば、『論理回路』『機械語』『高級言語のプログラミング』のようにバラバラに学ぶ必要がある内容を体系的にまとめられている点が本書の超おすすめポイントです。

個人的には、ハードウェアを学ばずにソフトウェアだけをゴリゴリ進めていると、必ずどこかで躓くと思っているので全てのソフトウェアエンジニアにおすすめの書籍だと感じました。

2.プログラムはなぜ動くのか

続いては日経BP出版の『プログラムはなぜ動くのか』です。先ほどの書籍に続きコンピュータアーキテクチャ系の書籍ですが、こちらの方がキャッチーで読みやすくなっています。

四角いメモリーは丸く使う

便利で使いやすいJAVAやPythonといった高級言語を書いているとついつい忘れてしまう、「どうやってコードが解釈されて実行されるのか」を理解することができます。

特にC言語のポインタの理解で苦戦している人にはおすすめの書籍です。
私も高校生のときに初めてC言語に触れた際は、ポインタの理解のためにかなりの時間を費やしました。
結局のところ大学に進学して電子回路やら論理回路やら機械語やらを学び直してからやっと自分のものにできたような気がします。
しかし、本書籍を使えばそんなに無駄に時間を消費せずとも理解することができます。

3.できる 仕事がはかどるGoogle Apps Script自動処理 全部入り。 (できる全部入り。)

最後に紹介するのはGAS(Google Apps Script)の逆引き書である『できる 仕事がはかどるGoogle Apps Script自動処理 全部入り。 (できる全部入り。)』です。

GASでWebアプリを作る

GASでWebアプリの構築をする際に、色々ググってもあんまりクリティカルな情報を見つけられずに本屋を彷徨っている時に出会えた書籍です。
GASの本は初心者向けの文法書みたいなものが多く、Webアプリを作るところまで踏み込んでいるものが多くはない印象のですが、本書は実際に出退勤記録アプリを作成しながら必要なクラスやメソッドを紹介するという実践的なものでした。
全体的に基本的なGASやJSの知識があることが前提で、便利なメソッドとアルゴリズムの組み合わせを紹介している内容なので、「これからGASを学んでいきたい!」という方にはお勧めできません

展望

今はセキュリティ系の書籍を読み漁っているので、また何冊かいいものを見つけたらメモしていこうと思います。
情報処理技術者試験対策で役立ったものとかも紹介できればなぁと思っていますが、数年前の記憶なので妄想で終わりそうです。