Magnolia Tech

いつもコードのことばかり考えている人のために。

『ビューティフル・コード』…美しいコードとは何だろう

久しぶりに読み返している。

冒頭の竹内郁雄先生の推薦のことばはこのような書き出しで始まる。

最近,プログラムのコードの話をするのは,ソフトウェアのなんたるかをわかっていないような言われ様をするようだが,コードの話をしないで,なにがソフトウェアかというのが筆者の強い思いである。プログラムを書いたことことがないシステムエンジニアが威張っているような会社は早晩亡びる.プログラムコードには,およそ人が「書く」もののエッセンスのほとんどが詰まっている.よい問題理解に始まり,設計,製造,検査,保守改良に至るソフトウェアのライフサイクルをきちんと制御する能力の大半は,実は文章の力であり,文章の力はよいコードを書く力とほぼ等価である.つまり「美しいコード」を書けるということは,たとえ,コードを書くチャンスがなくても「美しいソフトウェア」を開発できるということなのだ.美しいソフトウェアを開発した人はそれを実際に体験・体得している.

なるほど……この文章が書かれたのは13年前だ(2008年に邦訳が出版されている)。果たして、昨今のソフトウェアを取り巻く環境は「美しく」なったのだろうか。


どういうコードが美しいかは諸説有るし、人それぞれの立場にも依るものだと思うけど、この本ではさまざまなコード例を挙げながら、「この観点で、美しい」が語られている。古い本なので、Perlをはじめとする動的型付が多く出てくるのは時代を写していて興味深い。いまならもっと「型!型!」と書かれているような気もする。

全部で33個のコードに関するエッセイ集であり、一つ一つ別の人が執筆している。なので、一つ一つの章は完全に独立していて、関連はないので、拾い読みにはちょうどよい一冊。ただ、教科書的な網羅はしていないので、その点は(本の厚さも含めて)期待しすぎるとちょっと肩透かしを食うかも。

なお、まつもとゆきひろさんが書かれたRubyの設計に関する章が一番読みやすかったし、理解しやすかった。日本語版向けにリライトされているそうなので、当たり前なんだろうけど。

ちなみに、「継承は美しくないから使わない」なんて話は出てきませんでした:)


原著はKindle版が入手できる。