...And Out Come The Wolves
95年発表 ランシドの3rdアルバム スカやレゲエのリズムを取り入れた歴史的名盤だ。
23才ぐらいの頃、パルコの地下1階にあった雑貨屋さんから流れるご機嫌なナンバー♪♪思わず足を止め、店員さんに「これ、誰ですか?」
それが4曲目の「タイム・ボム」♪
当時の俺はオルタナティブ、レゲエ、ファンクなどにもハマリ始め、1番パンク離れしてた頃だった。ランシドの名前は知っていたが、あまりにも衝撃的な出会いだった。。
オススメ♪「タイム・ボム」「オリンピア WA」「ルビー・ソーホー」ん〜どれも捨て難い、、、
「黒いコート、白い靴、黒い帽子、キャデラック、あいつは時限爆弾」タイム・ボム歌詞より
ん〜カッコイイ♪ CBGB
Metaprogramming Ruby: Program Like the Ruby Pros (Facets of Ruby)
理由は、、、
もし私が私の大切な人に気持ちを伝えたいと思った時、
私は以下のようなコードを書くことができます。Cでは、
// C code
int main(void)
{
int i;
for (i = 0; i < 10; i++)
printf("I love you. ");
return 0;
}
でも、Rubyならもっとストレートにシンプルに。
# Ruby code
10.times{print 'I love you. '}
最初にこのコードを見た時から、私はRubyが好きになりました。
その後、ネットサーフィンをしながら、いろんなtutorialやblog等でRubyのtipsを見つけては、すごいなぁ、おもしろいなぁ、と楽しんでいましたが。そんな中でいつも気になる言葉がありました、Metaprogramming. でもAdvance techとありましたし、実際記事を読んでも分からないことが多く、今の私にはまだムリかな、と思っていました。
そんな時に、この本に出会いました。Introductionを読んで、BobとBillの物語を読み始めて、、、。そこには物語に引き込まれて夢中になっている自分がいました。そして第一部の物語を読み終えた時、自分でもRubyのコードをもっと書いてみたい、もっとシンプルにもっと自由にコードを書いてみたい、もしかしたら、それができるようになるかもしれない、と思うようになりました。
現在は第二部のRailsのパートを読み返しているところです。第二部は第一部とは異なり実世界で実際に使われているコードをpick upしながら解説が加えてあります。今の私にとっては、一度読んですっと分かる、といった内容ではありませんが、何度かコードを眺めながら解説を読んだり、実際にコードを書いて動かしてみたりしているうちに、少しずつ理解できるコードが増えてきたかな、と感じています。
著者のPaoloはRubyLearning.orgのインタビュー記事の中で、When you understand metaprogramming, that's the moment when you start "thinking in Ruby". と語っています。母国語で話すようにRubyでコードを書くことができる。。。なんて素敵な! もちろんそのためにはもっともっと努力が必要なことは言うまでもありませんが。でも、この本を読みながら、そんな自由を夢みています。:)