ソフトウェア開発者人生に影響を与えてきた本
はじめに
なんとなく書きたくなったので書きます。詳しいレビューなどは書きません。書いても一言程度。実は昔似たようなエントリを書いたことがあるんですが、そちらは初心者+αくらいの人に勧める本についてのもので、こちらはあくまで私に刺さった本です。
達人プログラマー
ソフトウェア技術者としての考え方のいくつかはこの本の影響によって身に着けました。この手の本は抽象的でスカスカなことが多いのですが、この本は著者の文書作成技術が高いこと、例が具体的なこともあって、ずいぶん納得できることが多かったです。わたしが読んだのは第一版ですが、あえて第二版へのリンクを張っています。
プログラミング作法
よいプログラムをどう組めばいいかということを学べました。いろいろな言語を題材にしていますが、どういうものを使っていても役に立つ実践的なことが書いています。
珠玉のプログラミング
アルゴリズムについて、具体的にどう役立つのかや、凝ったものを作れば/使えばいいというわけではないことを学べました。
Write Great Code vol.1
ハードウェアとソフトウェアの境界にある、いわゆる低レイヤといわれる部分の知識を得るのに大いに役立ちました。
文芸的プログラミング
単に読み物として面白かったんですが、それ以上に「Knuth先生バケモンだな」というのを味わえてよかったです。すっかりファンになってしまいました。
Computers & Typesetting, Volume A: The TeXbook
内容は正直言ってあんまり理解できなかったのですがKnuth先生の凄まじい凝り性っぷりと、思いを実現してしまう能力に圧倒されました。
はじめて読む486
現実のCPUがどのように動いているのか、OSはCPUのどのような機能を使っているのか、についての基礎知識を得られました。名著です。
Delphiオブジェクト指向プログラミング
プログラマとしてかなり初期に読んだ本です。Delphiやオブジェクト指向に限らず、プログラミングの基礎の多くを学びました。
人月の神話
古典ですね。炎上プロジェクトに人を追加するともっとひどくなるという話が有名ですが、それ以外にもいっぱいいいことが書いています。ものすごく古い本ですが一見の価値あり。
Linux Kernel Development 3rd edition
わたしがLinuxカーネル開発者としてのキャリアを開始するときに読んだ本です。これがなければもっと熟達に時間がかかっていたと思います。リンク先は3版ですが、わたしが最初に読んだのは2005年だったかに出た初版です。
GNUソフトウェアプログラミング
当時Windowsでしかプログラムを組んだことがない私にUNIX系OSではどういうふうにするのが普通なのかを教えてくれた本です。紹介しているのはテキストベースのツールがほとんどなので現在同じ条件の人がこれを読むのはキツいかもしれません。あと絶版になっています。
おわりに
こうして並べてみると、プログラマとしてのキャリアの初期あるいは中期に読んだ本ばっかりでした。キャリア中期以降は本ではなくマニュアル、仕様書、ソースを読んだり実践で学んだりすることが多かったからだと思います(あるいはただの勉強不足…)。あと、わたしはアプリにあんまり興味がないんだなということを再認識しました。
Discussion