2009年05月25日 23:00 [Edit]
神は細部に宿る - 書評 - まつもとゆきひろ コードの世界
「勝間本なのに、なんで献本こないかな」と思ってたらMatz本でした:)。というわけで購入。
イイ!イイよこれ!
けど、すごくわかりづらいイイ!であるというのも確か。残念ながら勝間本と違って、本書はプログラムを書ける人でないと読むこともままならないので。
この本をどれだけイイ!と思えるかで、プログラマーとしての発展段階を測れる、そんな一冊だ。本blogのプログラム関連の記事を、飛ばさず読んでらっしゃる方であれば、絶対楽しめます。
本書「まつもとゆきひろ コードの世界」は、まつもとゆきひろの本ではあるが、プログラミング言語Rubyの本ではない。「レイヤー」で言うと、それより一段上の本である。強いてRuby本として本書を見ると、本書はなぜ著者が ruby を「そうしたのか」を語った「メタRuby本」であり、"How to"ではなく"Why"が語られた本である。
目次 - 日経BP書店|商品詳細 - まつもとゆきひろ コードの世界より。
|
|
それを念頭において目次を見ると、むしろ驚くかも知れない。これではまるで「Ruby逆引きハンドブック」か「Rubyクックブック」かといった、ハウツー本ではないか。もっと思想とか思考法とか掟とかフレームワークとか、「骨組み」について書いた本ではないのか。と。これを読んで10倍効率よくプログラミングできるようにならないんでつか?
と、感じた人は、中級者である。そして、中級者であれば各章は間違いなく楽しめる。本書はたとえばK&R やSICPといった教科書と比べても、ずっとカジュアルな一冊であり、「プログラミング言語Ruby」と比べてすらそうである。
しかし、これらの散文的な各章の課題を、すべて自分でやってみたことがある人となると、どれくらいになるのか。よほどの経験者でも、いや経験者であればこそこれほど多岐にわたる問題に直面することはむしろ少ないのではないか。しかしそれこそが、日常言語を実装するということなのである。
そう。「日常」言語。Cは「汎用」ではあるが、日常とはいいがたい。あれは日常言語を書くための言語であり、実際Rubyも--正確には MRI = Matz Ruby Implementation は--Cで書かれている。よほどCが好きな人でも、ワンライナーで済むことをCで書くとは思えない。それでいて、ワンライナーだけ書ければよいというわけには行かない。Larry Wall風に言えば、「簡単なことは簡単に」出来るだけでは駄目で、「難しいことも可能」でなければならない。
その点において、名著"Programming Pearl"(珠玉のプログラミング)のawkは、十分日常的であったとは言えない。同書の「無理があるなあ」という部分は、そういったawkの機能不足によるところが大きい。これを一挙に解決したのが Perl で、ラクダ本の正式名称である"Programming Perl"が同著に引っ掛けてある点を思い出す方も少なくないかも知れない。
その Perl においても「難しいことも可能」に分類されていたことをも、「簡単なことに」しようとし、少なからぬ成功をおさめたのがRubyなのだ。その実装において、たとえばLispプログラマーから見て枝葉末節的なことにもきちんと取り組まざるを得ない。Rubyのすごさは、すごくないことにある。いや、すごい人にしか手が届かなかったことを、すごくない人の手に届けたことにある。言語にとってその父は神であるが、現代の神はディテールに宿らざるを得ないのだ。「正規表現なんぞ人間の仕事」と言っているわけには行かないのだ。
その神が、自ら because を解説しているのだ。こんな本が他にあるだろうか。
確かにそれは「神々しさ」を損ねる行為ではある。もし十誡をヤハウェ自らが解説していたら、預言者は不要である。モーゼ涙目。しかし、MatzのRuby神としてのふるまいは、まさにアミニズム的。私のようなPaganとも平気で言葉を交わすし、こんな表紙にもなったりもする。
それがどれほど幸運ことなのか。預言者でもないあなたのところに、英語ではなく日本語で話しかけることが、どれほど有り難い、そうレトリック抜きで、有り、難いことなのか、改めて考えて欲しい。
本書はプログラミング中級者以上であれば、Rubyistでなくても楽しめて、しかし全章を味わうには上級者でなければならないという、そんな本なのだ。
Matzにっき(2009-05-23)などと、一部で不評な本ですが、私だって恥ずかしいのを我慢してるんだから、 せめて書店で中身を眺めるくらいはしてください。 面白くなかったら買わなくてもいいから。
本書が面白くないという人は、プログラマーとして一人前ではないと喜んで弾言させていただく。しかし、中味を眺めるだけで面白さがわかるという本でもないことも断言せざるを得ない。買って読むのが一番手っ取り早いのだろう。実際それほど高額な本ではないのだし、という台詞に「プログラミングの本としては」という但し書きをつけざるを得るのはちょっと悲しいことだけど。
Matzにっき(2009-05-23)ただ、残念なことにプログラミング関係書籍は順位の割に部数は出ないし、 「夢の印税生活」というわけにはいきそうにない。 今回は連載の再利用なので、さらに印税率が低いし。
一般書なみにプログラミングの本が売れる時代は来ないのかなあ....
Dan the Salt of the Blogsphere
この記事へのトラックバックURL
この分野の日本語の言い回しをもっと豊かにしないと。
ありがたい
CPUのコア設計できる人。
プログラム言語体系、作れる人。
コンピュータの神様です。
やっぱり、すごいです。
shi3zのダンナが喚き出しそうな「俺視点は皆視点」意見はヤメトケ。
そして「あなた視点を押しつける」わけですね。
益にも毒にもならないエントリーが読みたいなら、ブログ読むのやめたらいいよ
日本語で書いてくれるのは、ありがたいです。
ジェダイマスターから学べる機会は少ないので
全然、中級じゃない私ですが読んでみたくなりましたw
アホですか。「俺の視点」がどんな視点か言ってみろノータリン。