Ruby始めました(冷やし中華はじめました)
始めました、というのは厳密にはウソ。なぜなら、大学の時に1.8.7だか1.8.5だかを触っていたので。研究のためのシミュレータをJavaで書くのがダルくなって、Rubyでの実装に逃げた、あの夏。
あの夏はどうでもいいのだが、さあプログラミング言語をやりましょうという時に、「昔ちょっと古めのバージョンを触っていて、思い出したい人のための本」てなものは当然売ってないわけだ。さあどうする、ってなもんだ。
別に本読まずに様々なライブラリのコードを読んでもいいのだけど、なんかこう、ちょっと電車の中とかではしんどいのですよね。ワンクッション置きたかったんですよね。
そんなわけで、"Eloquent Ruby"を読んだ。これは良い本だった。
良い本だった、というのには明確な理由があって、この本には「これこれこういう機能があって、こういう書き方とこういう書き方があるけど、普通はこっちにするよね」みたいなことがちゃんと書いてある。こういう本は、単に機能を客観的に列挙しただけの本よりも初学者にとって価値がある。「こんな機能があります」「こうも書けますが、こうも書けます」とばかり言われても、どれがいいのやらサッパリ分からないからだ。
おそらくどんな言語とそのコミュニティにも、「こういう機能はあるっちゃあるけど使わないよね」「だいたいこの2つの書き方のどっちかにするよね、そこからは好みかな」みたいな不文律があるものだ。不文律といって悪ければ、ノリというか、空気というか。
こういう空気は、その言語のユーザの中である程度有名で信頼のある人の書いたコードを読んだり、IRCの特定のチャンネルに入ってみたりしていると分かるもので、ある程度以上のレベルに達するには結局この道しかない。が、だいたいのノリが掴める本があって、明文化されているとそれなりにうれしい。それもまた人情。