『 The Ruby Programming Language 』を読んだ。こいつは良い本だ。副題の"Everything You Need To Know"っていうのは嘘じゃない。翻訳しようっていう話もちらほら聞こえる。当然、翻訳は出すべきだろう。
だが、この本は決して簡単ではない。こいつは 『プログラミングPerl』 と相似だ。その言語の創始者自身が書いた。そして、初心者が中級者になるために、最後に読むべき本はこれだ。けれども、その言語の流儀を全く知らない、チュートリアルすらやってない入門者は、この本では挫折する。
Ruby Inside も、こう書いてる。
The only downside, in terms of the thousands who might be browsing Amazon looking for a single Ruby book to start off with, is that the Hummingbird is so well focused on documenting the core elements of the Ruby language, it doesn’t work either as a tutorial / beginner’s introduction to Ruby, or as an exhaustive reference work (as, on both fronts, the Pickaxe attempts to be.)
そして、Ruby Insideは 『The Ruby Way』 を併せて買えと言ってる。うん、あれも良い本だ。だけど、第2版の日本語版が出てない。第1版はRuby 1.6にしか対応してない。
そういう出版状況を合わせて、今日編集さんと相談してきた。私は「入門者が初心者になる」ための本を書く。Rubyの流儀を知らない人がRubyの流儀を覚えるための本だ。そして、その上でMatzの本を買えばいい。そういう本を書きたい。今書いてる本を、そういう風に書き上げるつもりだ。
Ruby和書の読み方
プログラミングというものを経験したことがない人は 『初めてのプログラミング』 を買おう。これは良い入門書で、Rubyを使ってプログラミングという概念を学ぶことができる。同時にRubyの文法もちょっとだけ学ぶことができる。でも、この本だけではRubyについて何かを知ったと言うには不足だ。
プログラミングについて学びつつ、もっとRubyを知りたいならば。それならば、 『たのしいRuby』 が定番だ。
すぐに何かを作りたいなら、実践的なチュートリアルが欲しいところだ。そうすると、いくつかあるRails本は適当だろう。あと、 ゲームプログラミング本 もある。
でも、こういう本は他の言語でプログラミングを経験した人には冗長だ。それに、Ruby言語それ自体を学ぶには、「応用的」な内容がノイズになってしまう。そこで、私は「プログラミングは知っているけれどもRubyの流儀を知らない」人のためのRuby言語の本を書く。プログラミングを知っている人なら、これを買って欲しい。(と、自信を持って勧められる出来になったらいいな)
そして、最後に『The Ruby Programming Language』を買うのだ。翻訳はいずれ出るだろう。こうして、Ruby中級者になる。
Ruby上級者になるには? 私だってそれは知らないよ。少なくともRubyの言語機能も端から全部通読してみる必要はあるよね。分かってるつもりでも意外と知らない機能があるんだなー。そこを押さえるためには、Ruby Insideが挙げてるPickaxe本こと 『プログラミングRuby』 は必ず役に立つ。応用例は 『Rubyクックブック』 や Rubyist Magazine出張版 で学ぶことができる。
それから後は、Ruby自体の開発に携わったり、何かすごいライブラリやアプリケーションをRubyで作ったりすればいいんじゃない?
まとめ
あれを買え、これを買えって言ってばっかりでお金が掛かりそうで恐縮だけれど。まーね、学習にはお金が掛かるものだよ。でも、書籍だけで学習しようとおもったら、これが最短だと思うな。他にも、webで資料を漁ったり、勉強会に通ったりと道はあるけど、そういうのは時間コストが掛かるしね。どういうバランスでリソースを配分するかっていう問題だ。
私も、大きな口を叩いただけは頑張って書くから、だから(日本式論理飛躍)、出たらみんな買ってね。