今回紹介するプログラミング本は「ZERO BUGS シリコンバレープログラマの教え」と言う翻訳書。
(翻訳:酒匂 寛)

ZERO BUGS シリコンバレープログラマの教え
ケイト・トンプソン
日経BP社
2017-05-30


著者は Kate Thompson と言うシリコンバレーで長く活躍されているプログラマ。
子供のころからプログラミングをされているそうです。
シリコンバレーの多くの会社でプログラマとして働き、プログラミングに関してとても経験豊富な方です。
内容は、前半はバグをなくして生産性を高めるための方法・考えが徒然なるままに説明されています。
また、後半はいくつものコードを紹介しつつ、どのような意味があるか、工夫があるかを説明されています。
こちらもほぼ徒然なるままにと言った印象です。
要は、体系だった説明とはなっておらず、彼の経験から得たバグをなくすための知見の紹介が次から次へと説明されております。

前半40章、後半38章と、膨大な章立ての本となっておりますが、各章あまりページ数はなく、隙間時間に1章ずつ読んでいくことも可能です。
先ほど紹介したとおり、体系的な構成になっていないので、これらの章をどこから読んでも問題ありません。
実際、テクニカルエッセイ集やコラム集と言った感じでしょうか。
プログラム言語も特定したものはなく、過去の言語も含め様々な言語を扱っています。

彼の言っている 特にプログラミングで意識すべきこととして以下のものがあります。
① まず最初にそもそも機能するようにする。最初からのバグなしは困難。せめて①を満たしていれば、使われ続ける。
② 次に読みやすくする。使われるプログラムは保守が必要になり読みやすくあるべき。彼曰く、プログラミングとは本質的に他人とのコミュニケーションであるとのこと。
③ そして、最後に柔軟であるように。変更に対して柔軟に対応できる作りをする。そこでライブラリの使用などもありうるわけですが、注意深く慎重に。関数の仕様などを確認するように。

あと面白かったのが、プログラミングにはボーイスカウトルールが必要とのこと。
要は、他人のことを意識してプログラミングをし、他人が作ったプログラムも率先してリファクタリングをしてあげましょうと言うこと。

といろいろ全てを分かった風に書きましたが、すいません、私の才能不足か、とても言いたいことが分からない本でした。
この本に具体的な技術的テクニック等を求めてはいけなかったのかもしれませんが、がんばって具体的に自分にためになるところを探しても見つけられず、読むのが途中からつらくなりました。
後半の具体的なコードと説明の部分では、過去からの学習と言うことで、先人たちが残した知恵、できごと等々紹介されていますが、何だかよく分からないところが多かった。
アメリカの書籍にありがちなたとえ話なんかもたくさんでてきますが、余計分からなくなる。
詩や過去の偉人の話などを紹介して そこから重要な話につなげようとするが、つながりが分かりづらい。
訳者の注釈での説明でやっと言いたいことが分かるような始末。。。
たまに、たとえ話に限らず、そもそも筆者は何が言いたいのか訳者が注釈を書いてくれています。。。

しかし、Amazonのレビューではみなさん良い評価をしているようです。
上記は私の理解力不足のためかもしれませんので Amazonのレビューもご覧ください。

と言う感じで、筆者より訳者の方の翻訳と注釈が良かったので、訳者の 酒匂 寛 さんについて。
酒匂さんは 30年以上ソフトウェア開発の現場で活躍続け、本書の通り まさに「バグなし」開発の理想を追い続けている方です。
オブジェクト指向技術に関しては、日本にいち早く紹介したかでもあります。
ですので、彼の古い書籍にはオブジェクト指向技術の本が多数あります。
最近のを調べてみると以下の様に、教育的な書籍の方向でご活躍の様です。