Chienomi

エンジニア&ワナビーに贈る名著7選

その他デジモノ・デジゴト

はじめに

昔Twitterで似たようなタグがあったような気がするのだけど、 私はコンピュータ関連書籍(雑誌込み)には300万円くらいはつぎ込んでいるので、その中で「これは色褪せない、他にはない、素晴らしい!!」と思ったものを挙げたい。

私が今まで読んできた中でボロボロになるまで読んだ本たちだから、だいたいの本は古く、そして絶版・入手困難になってしまっている。

このほかにも見どころがあって、色褪せない本というのはあるのだが、今回は「名著」と言い切れるような必読書のみに絞って挙げてみた。

ハッカーズ大辞典

いわゆる「おもしろ用語集」のような本。

用語自体が技術的知識になる、という側面は少ないのだけれど、 昔のハッカーたちがどんな棋風で、どんな出来事で、どんなふうに接し、振る舞ってきたのかがわかる「文化本」という意味合いが大変に強い。 そして、ハッカーマインドを理解するにもこの本は欠かせない。

ここに登場する語のほとんどは現役ではなく、実際に使われることは多くはない。 だが、ハッカーは大概、この本のことは知っているし、ここに登場する用語や背景のことは知っている。 これらのことは元ネタである “Jargonfile” で呼ぶことが多いが、実際にはこの和訳本のことを示していることがほとんどである。 このJargonfileのオリジナルはインターネット上で読むことができるが、和訳も大変イケているので、ぜひ翻訳本をお勧めしたい。

だが、残念ながらこの本は絶版である。 改装版が出ていることを知らなくて、私は今でも探しているくらいだ。 (私は翻訳初版しか持っていない)

インターネットの起源

インターネットはどのように誕生し、どのような苦労があったのか、 そのときどのような信念があったのか、それを窺い知ることができる名著。 翻訳が少し雑なのが気になるが、貴重な当事者の証言である。

インターネット陰謀論を吐きたがる人には一度は読ませたい本だ。

こちらも絶版プレミアだが、Kindle版があるのが救い。

プログラミングPerl

「ラクダ本」といえばこの本。 Perlを学ぶ人だけでなく、プログラミングを学ぶ全ての人にとって一読の価値のある名著であり、特に正規表現を理解するには (オライリーの「正規表現」以上に)この本の助けが必要となるだろう。

PerlはCほど難解ではないが、隠しきれない低レベル感がある。 ひとつひとつの概念を丁寧に解説してくれるので、プログラミングについて理解する良い下地になる。 「書いてあることをそのまま実行する」ことに頭が行くタイプの人には向いていないだろうが、理解して地力を高めていくということが分かる人には地力育成法としてかなり良い本だと思う。

上下巻なのだが、VOLUME2はリファレンスであるため、「なくてもよい」感が強く、VOLUME2のほうは事実上の絶版。 VOLUME2の巻末の用語集は結構おもしろいのだが。

Perlクックブック 第2版 VOLUME1

Perlを実用的に活用するための本、なのだが、クックブックなので基本的にはテクニック集だと思えばいい。 だったらわざわざ挙げるほどではない、と思うかもしれないが、割とクックブックって良いものが少なくて、推挙できるのはこれぐらいのものだ。

このクックブックにはふたつの面がある。

ひとつは、ラクダ本で学ぶことができる基礎によって理解を深めても、実際になにかを実現しようと思ったときにどうすればそれが実現できるのかということを教えてくれる教科書としてだ。

そして、もうひとつはここに書かれていることを理解できるかどうかが、プログラミングに対する理解度をはかるものになるということだ。 小さな課題をテクニックを駆使して解決しているため、それによって解決できることはわかるのだが、レベルが十分に上がっていないとなぜそれによって解決できるのかがわからない。 読み物として読んだときにするっと理解できるようになったとき、自分のレベルが向上したことを実感できるだろう。

VOLUME2はPerlに特化した部分が多いので、VOLUME2はあまり必要ないかもしれない。 いずれにせよ絶版本で、入手は難しい。

Hacking:美しき策謀 第2版 ――脆弱性攻撃の理論と実際

誤解してほしくないのは、これによって攻撃ができるようになるような類の本ではない。 この本はそもそもかなり小さくて薄い本なので、そこまで充実の中身はないのだ。

だが、多くの人が「なんとなく言葉と、用語集の説明文程度で知っている」脆弱性攻撃の中身を、簡潔かつ的確に教えてくれる。 この知識は脆弱性攻撃のみに有効なわけではなく、コンピュータの低レイヤーを理解する補助教材としてかなり有効だ。 低レイヤーが苦手な私はこの本に随分助けられた。

ここで扱っている内容は非常に難易度が高く、実際に学ぼうとするとかなり困難を伴う。 もちろん、この本の記述範囲で理解できるはずもないのだが、なんとなく理解し、興味をもつには良いだろう。

新The UNIX Super Text 上 改定増補版,

私がLinuxをちゃんと学び直すときに使った教科書だ。

2003年刊行なのだが、内容は1997年のオリジナルからほとんど変わっていない。 結果的に、2003年時点でも大部分が「そのままは使えない」内容となっており、現在はそのまま使える知識などないに等しい。

だが、「何が基礎で、何が今につながり、それをどうすれば活用できるのか」ということを考えながら読むと、基礎を学ぶには最適なものになる。

実際、Mimir YokohamaのLinux基礎やコンピュータ基礎のカリキュラムづくりは、この本での内容をかなり参考にしている。 実際のところそのまま使える部分はほとんどなく、現代の技術に置換えただけで説明が完了するものもないため、流用できる内容はほとんどないのだが、どのようなことで構成し、何に触れるか、基礎としてどのようなことを学ぶことが地力の育成につながるか、ということを考える上で大変参考にさせていただいている。

この本の残念なところは、著者に一名、ちょっといい加減なことを偏見込みで書いている人がいることだろうか。

まつもとゆきひろ コードの世界‾スーパー・プログラマになる14の思考法

Ruby設計者のまつもとゆきひろさんの本。シリーズとして「コードの未来」「言語のしくみ」という本もあるのだけど、やはり名著といえばこの「コードの世界」だと思う。

技術書というよりは、文字通り「コードの世界」を紹介した本であり、特に難しいと感じる人の多いプログラミング言語にとっての文字コードの「内部コード」と「外部コード」の違い、正規表現エンジンの挙動と違い、並列実行などについてinsiderの視点で解説されており、楽しく読める上に読んでいるとプログラミングに関する理解も深まる。

「コードの未来」も併せて読みたい良書だが、こちらは技術を紹介する色合いが強いため、必読とまで勧められる感じではない。だが、お勧めではある。