SQLアンチパターン

 今回は新しい本でも。RDBMS、特にSQLがらみでありがちなトラブルを、ユーモアを交えて紹介しているのがこの本だ。日本語版には最後に「漢のコンピュータ道」奥野氏が執筆した章が追加されている。

 全編、「ああ、あるある」、「これやっちゃったなあ」と、SQLを使った開発・保守をした経験がある人なら心当たりのある事例のオンパレードで、にやりとしたり、背中にいやな汗をかいたりしながら読み進めることができる(そういえば、前職のシステムはこのアンチパターンにどっぷり浸かっちゃってるな。今も無事に動いてるだろうか……、など)。

 全体的に脚注での監訳者のフォローが充実しており、単なる翻訳ではなく、深い読み込みやサンプルプログラムの精査が行われたことがわかる。一部勢い余って本文のコラムにまで進出しているのはご愛敬か。

 個人的な思い込みかもしれないが、世間にはリレーショナルデータベースの理論(元は数学の集合理論)とオブジェクト指向をともに理解し、どちらも自在に操れる人は少ないと感じている。モデラーとプログラマとの間の相克はよく聞く話だ。本書で取り上げられているアンチパターンでも、プログラマがリレーショナルデータベース理論に疎いことが大元にあるものが多いと読んでいて感じた(まあ題名からして、プログラマに分の悪い内容であることは致し方ないが)。個人的には、昨今NoSQL(特にkey-value型データストア)が人気なのも、プログラマからわかりやすい・扱いやすいものだからではないかと考えている。データベースをただのデータストア(データ置き場)としてしか使わない例はよく聞くし。

 内容としては論理設計・物理設計・SQLクエリ・ソフトウェア開発と題材が大きく分かれ、非常に幅広くかつ実践的なものとなっている。正規化・浮動小数点の丸め誤差・テキスト全文検索・SQLインジェクションの問題と対策がすべて扱われていて、かつ300ページ程度に収まっている本はなかなかないのではないだろうか。そういえば先日取り上げた「プログラマが知るべき97のこと」でも浮動小数点の丸め誤差の話が出ていた。ありがちなトラブルなのだろうか。

 といったところで、DBAというよりRDBMSと連携するアプリを開発しているプログラマに是非読んでほしい本だ。でもタイトルからして筆者のようなRDBMS好きばっかり読むのだろうな。版元がオライリーというところが救いか(プログラマの目につきやすい)。

プログラマが知るべき97のこと

 今回の本は、前回の王選手の本と同時にブックオフで買ったもの。多くのー流プログラマがそれぞれ自分の思うテーマでショートエッセイを書き、それをまとめたものだ。タイトルからプログラマとしての心構えといった概念的な話が多いのかと思ったが、意外にもプラクティカルな内容も同じくらい取り扱われていた。

 内容は様々だが、通底するテーマは「職業プログラマとして(つまり開発チームの一員として)品質・保守性の高いプログラムを作るには」だろう。テストの話やコードのリファクタリングの話が多いことにそれが表われている。そのほか、若干ながらプログラマが成長するための心構えについて書かれたエッセイも目についた。あと「達人プログラマー」についての言及が多かったのも特徴か。やっぱりこちらも必読書なんだろうな。

 全般的にオライリーの本にしては気楽にすらすらと読める本であり、筆者のような職業プログラマとはとてもいえない程度のプログラミングしかしていない人間にとっても、これまでの経験と照らし合わせて「あるある」「そうだよなあ」という納得感のある話ばかりで、突飛な話はない。といってもそれはこの本の内容の薄さを表すわけではもちろんない。おそらく各々のプログラマとしての経験に応じて様々な気づきを与えてくれる本なのではと思っている。

 ぜひこれを職場の若手(と書くと自分はすっかりおっさんになった気がする。でも未成年の子なので本当に若手なんだよ)に読ませたいなと一瞬思ったが、仕事としてのプログラミングをまだしていない彼にとっては、まだまだ難しいだろうなあ。

王選手コーチ日誌 1962-1969 一本足打法誕生の極意

 2013年ももう2月になった。今更今年の抱負を書くのも変だが、今年はこのブログを有効活用しようと思う。bitchが書かなくなって久しいけれども、復活までのんびりと続けたいので。
 そこで、しばらくは読書感想文でも書こうと思う。慶應通信を卒業してからも本は継続して買って読んでおり、引っ越して巨大になった本棚もそろそろ埋まるくらい本が増えたのだが、1度読んで終わり(もしくはまだ全部読んでいない)本も多いため、再読のきっかけとするためにブログを使おうかと思っている。目標は週1回エントリすること。

 というわけで、第1回目は表題の通り、王選手を育てた荒川コーチの本だ。実は昨日ブックオフで買って一気に読んだものなので、全然「本棚の本の棚卸し」にはなっていないのだが、それはそれ。
 本書は王選手を指導していた荒川コーチが、当時つけていた日誌をほぼそのまま公開したものだ。高卒ルーキーとしてはまあまあだが周囲の期待には応え切れていなかった王選手が、荒川コーチの指導によって急速に才能を開花させてゆく様が臨場感を持って書かれている。あの一本足打法誕生の日もしっかりと記録されている。
 近年、「王は真面目、長嶋は天真爛漫」という当時マスコミがつけたイメージが実は逆だったということが徐々に明らかになっているが、この日誌にも、ちょっとよくなった王が練習をサボり気味になることで不調になってしまうという繰り返しが何度も登場する。
 ただ、それ以上に印象深いのは、まるで息子の成長を見る父親のような荒川の様子だろう。調子がよいと天才だと喜び、不調になると心構えがなっていないと憤る様は、どっしりと構えた師匠よりは父親に近い。日誌の最後、そろそろ王選手が独り立ちする頃の記載を読むと、少し寂しそうですらある。しかし、王選手を教え始めたときの荒川コーチはまだ32歳(1930年生まれ)。現役でもおかしくない年齢なのだから、揺れ動く心は致し方ないのだろう。それでも今の自分と同年代の人間がここまで人をコーチできるというのは、我が身を振り返ってみてもすごいとしかいいようがない。
 日誌には何度も「気」という言葉が繰り返し出てくる。この「気」についての解説がほとんどないため、意味をわからずに読んでしまうと、単に精神論をぶった痛い人にしか見えない。この意味を知るために、「打撃の神髄 榎本喜八伝」を併せて読むことをおすすめしたい。

 最後に、最近話題の「体罰」についても触れられていることが興味深い。王が門限破りの常習犯だった堀内に対して鉄拳制裁をしたことについて、荒川は日誌の中で厳しく批判している。あとがきにも体罰はもちろん、指導する際に醜い言葉(罵声)を使うことを強く戒めるよう、世の指導者に求めていることに注目したい。