ローファイ日記

出てくるコード片、ぼくが書いたものは断りがない場合 MIT License としています http://udzura.mit-license.org/

自分の中で大切に思ってる本の話

hiboma.hatenadiary.jp

またhibomaさんのブログの言及で恐縮なのだが、このブログを読んで、そういえば僕のキャリアの中で重要だった本って何かな〜というのを考えていた。

前提として僕は本を読むのが苦手で(やっと最近気づいた)、めっちゃ遅くしか読めないし、量を読めないのだが、それでもポイントポイントで読んでおいて良かったという本はある。というより、割と一冊の本から受ける影響が人より大きいような気がするし、「僕にめっちゃ影響を与えてくれそう」という勘が働かないと読まない。

なので - でもないけれど、ここにあげている本の話題はただの思い出話で、必ずしも人に薦める意図はない。

アジャイルな見積りと計画づくり

book.mynavi.jp

この本は某F社にいるときに、とにかく周りの仕事が進まない、優先順位がつかない、今でいうトイルで運用が忙殺される、みたいな不満の塊の只中にいるときに読んだ。

僕のスクラムというか、仕事の進め方の基本を間違いなく構築している本はこれ。その後も何冊かスクラムに関する本は読んだが、この本で言われている内容は本当に基本的かつ普遍的だなあと感じる。だいたい、この本の内容と、この本を読んだ後転職したA社でのやり方、あとは大学の時のサークルやバイトの時に学んだこととかを思い出しながらお仕事の帽子をかぶっている*1

とにかく、未来のことはよくわからない*2、なのでどういう事態が勃発してもなんとなく対応できるように考えや仕組みにバッファを持っといたり、ざっくりと現場の進捗を把握する方法を身につけましょう、みたいにこの本を解釈していて、それが今でも判断の原点になっている。

メタプログラミングRuby

www.oreilly.co.jp

Rubyを完全に理解したので次に読む本... って感じでなんとなく読んだ。正確には僕は第1版を読んでいる。

実はRubyに関する書籍はあまりたくさん読んでいないのだが、その中でも一冊となると「メタプログラミングRuby」になる。

それまで、普通の道具、普通に便利なプログラミング言語としてRubyを書いていたのだが、メタプログラミングRubyで解説されている手法を読んでからは自分の考えを実現するための道具としてRubyを捉え直せたような気がする。そういうふうにプログラミング言語を扱いたい人のための機能がRubyには揃っているということを読み取った。

言語との深い付き合いについて考えていたい人は読んでみるといいかと思う。

Linuxプログラミングインタフェース

www.oreilly.co.jp

この本はすでに一回書評しているんだけど:

udzura.hatenablog.jp

自分の直近数年の活動の方向性を決定づける本だった。当時、Linuxにより一層踏み込んだプログラミングを「自分の問題」にしたかったのだが、この本を足がかりに踏み込みを進めることができた気がする。

あと、この本はいわゆる(?)オライリー社から出ている鈍器の一角で、物理的には1,600ページほどある。電子で読んだので、読み終えてからページ数に気づいたのだが。そういう本を一つでも読み終えたのは多少は自信につながった。

実践Rust入門

gihyo.jp

というより、2021年にRustという言語に出会えたこと自体が自分の変化のきっかけのひとつなのだと思う。なので例えば Rust in Action の邦訳 が出たらそっちを挙げるようになりそうな気もするけど、とはいえこの「自転車本」もいい本だと思う。

Rust学習の最初のキモはtraitとenumのRustらしい使い方と、所有権だと思うけど、その辺りが詳細に解説されているこの本は便利だった。あと、実践的な例の一つとして「パーサを作る」が含まれているのが良かった。

今まで覚えてきた言語でパーサを書こうという気にはなれなかったのだけれど、この本で「そうなんだ、Rustってパーサが書けるんだ」という気持ちになった。自分の問題範囲が広がった瞬間だと思う。実際最近の僕は、言語実装の仕方が一番の関心ごとになっているのだけれど、元々を辿るとこの本だと思われる。

本の話と少しずれるが、RubyC言語では簡単にはカバーできない問題の範囲 - 例えば、言語を実装する、OSを実装する、と言った範囲*3 - をRustが綺麗に押さえてくれたので、2021年一番良かったことは間違いなくRustを覚えられたことになりそう。


4冊しかねえのかよ... という気持ちになったが...。「読む前と後で価値観がかなり変わった」「自分の問題範囲が広がった」という観点だとこれくらいかもしれない。あと、インターネット記事を含めてOKなら「LXCで学ぶコンテナ入門」を追加させてください。

gihyo.jp

今後も自分の問題を広げてくれる本に出会えると嬉しい。

おまけ; 技術的でない本

実は地味に小説、こと現代日本人の書く純文学*4が好きなんだけど、割と最近からそうなってて、そうなった最初のきっかけは本谷有希子さんの「ぜつぼう」を読んでからだと記憶している。

bookclub.kodansha.co.jp

人によっては本谷有希子なのに「腑抜けども、悲しみの愛を見せろ」とか「異類婚姻譚」とかじゃないのかよ!という感想になりそうだが、最初に読んだのは「ぜつぼう」なので...。

それ以降、正直小説好きを名乗るには躊躇するレベルでほんのちょっとしか読んでいないのだが、細々と小説を読んでいる。以下は、自分のブクログを見て思い出した好きな作家と作品です。

*1:いつかサークルとバイトの時の話をしたいんだけど誰も興味なさそう...

*2:この本だと「不確実性のコーン」の話とか

*3:言語ならもちろんRubyでも実装できるし、そもそも言語やOSはCでたくさん実装されているが、そういう計算機科学の深奥に踏み込むのを助けてくれる言語としてRustは素晴らしいなあという話です

*4:ここでの定義は、「直木賞よりは芥川賞候補になりそうな作家」ぐらいで笑

*5:大島真寿美さんでこれ!? しかもこの本は児童文学では? と言われそうなんだけど一番しみじみ好きなんです...

*6:この本は藤谷治っぽくないって言われそうだが