まつもとゆきひろ コードの世界

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

日経BP出版センター 2009-05-21
売り上げランキング : 531

Amazonで詳しく見る
by G-Tools

Rubyのパパ、Matzが盛大にうんちくを語る本。べ、べつに表紙のカッコイイMatzに惹かれて読んだんじゃないんだからね!か、勘ちg(ry
本書は初心者向けに見せかけた上級者向けの技術書である。

いきなり違う本の話をするが、最近読んでいる『リファクタリング・ウェットウェア ―達人プログラマーの思考法と学習法』の1章で、"ドレイファスモデルの5段階"というものが紹介されている。人は技能習得において、初心者、中級者、上級者、熟練者、そして達人、という5段階を経るというものである。このうち初心者は指示された仕事をこなすのに手一杯で、中級者も目先の問題解決のための簡単な手段を探すにとどまる。ところが、上級者まで行き着くと、もっと広範で体系的な知識を獲得し、それに基づいて自分で問題解決方法を編み出していくようになる。

このモデルでいう"上級者"以上の人、またはそこまで達しようと志している人でないと面白くないの本書だ。なぜなら、書かれている内容は目先の問題を解決するためのTipsではなく、それを自分で編み出すために必要な基礎の知識だからだ。

どんな状況でも使える万能のTipsなどというものはない。だから、真に能力の高い人は、自分の置かれた状況に応じてTipsを改良、または生み出していく。それを為すためには、上っ面でない、根本の知識が必要なのだ。

本書から得られるのはそういう知識である。「どうするのか」よりも「なぜそれをするのか」に焦点が当たっているのだ。従って、本書を読んでもすぐさま自分の生産性が向上することはない。ただし、将来的により大きく向上させるための基礎を築く手助けをしてくれると思う。

ちなみにMatzが書いているだけあって、説明はRubyを用いることが多く、自然とRubyの根本を理解する手助けとなる。『オブジェクト指向プログラミング言語Ruby』よりも新しく、ずっと読みやすく、ずっと面白いので、Ruby上級者になりたいRuby初心者は一度読んでおいたほうがいいだろう。やはりRuby初心者である俺は、本書を読んでようやくRuby1.9で外部イテレータ(Enumerator)が登場したわけを知ったし、Enumeratorを遅延評価に使う手法は実に興味深いものだった。

上級者は中級者以下の人に本書を薦めてほしい。本書の知識は長い目で見て有用だろうし、あちこちで「Rubyはすばらしい」と思わせる記述があるので、Rubyistに洗脳してしまうのに最適。いや、これは冗談だが。