オブジェクト指向スクリプト言語Ruby

まつもとゆきひろ/石塚圭樹『オブジェクト指向スクリプト言語Ruby』読了。Rubyを作った人が書いたRubyの本である。

プログラミング言語を学ぼうと思ったら、その言語を作った人の書いた本を読むのが一番良い。どこで覚えた考え方だか忘れたが、そりゃ作った人間であれば一番強みも弱みも理解しているだろうと納得し、なるべくそうするようにしている。C言語であればK&Rだし、PerlであればプログラミングPerl、そしてRubyであればこの本だ。

初心者にはオススメできない。風評はちらほら聞いていたが、量的にも、文章的にも、サクサク読み進められる本じゃない。もっと別のRuby入門書をあたったほうがいい。ただ普通にRubyでプログラム書ければいいや、という人もそうしたほうがいい。

しかし、Rubyが好きになってしまった人は、この本を一度は読んでおいた方が良いと思う。濃い。実に濃い。「こういう文法です」だけじゃなくて、「なぜそうしているのか」まで書いてあって、言語そのものに込められたポリシーが感じ取れる。だから、そこからある程度クセのようなものがわかり、Rubyに相性が良いプログラムの書き方、といったものが見えてくる。

文法なんてこの本じゃなくても覚えられる。実際、俺はオンラインドキュメントだけで書き方を覚えたし。だから、この手の本に求めるのは、言語のクセや賢い使い方といった、もう一歩先に行った情報だ。言語の作成者の本にはこいつがほぼ確実に書いてある。だから読むのだ。

で、この本を読んでいるとだね・・・RubyよりもC言語でプログラミングしたくなってきた(笑)

いや、べつにRubyに不満があるわけじゃない。Rubyはすばらしい。
強力な文字列処理機能、カッコイイ。
わかりやすい文法、ステキ。
イテレータ、すごくクール。

ただね、第8章Inside Rubyが熱くて。Rubyインタープリタがどのように設計され、どう記述されているのかを説明した章なんだが、RubyインタープリタC言語実装なので、C言語の話になってくるのだ。そうか、unionってうまく使うとエレガントに実装できるもんなんだなぁ。あまり使ったことなかった。。。

1999年に出た古い本ではあるが、Rubyも基本は変わってない(そんな大きく言語仕様が変わっても困る)から、今でも十分に読めた。Rubyを深く知りたい人だけが読む、そんな本。

オブジェクト指向スクリプト言語 Ruby (ASCII SOFTWARE SCIENCE Language)

オブジェクト指向スクリプト言語 Ruby (ASCII SOFTWARE SCIENCE Language)