Other than that, the Amazon fairy just brought me Ruby in a Nutshell and Programming Ruby, 2nd Edition (aka the Pickaxe book).
I read the first few chapters of Ruby in a Nutshell yesterday, and I’m impressed by Matz’ clear, succint and still fairly detailed description of the language - which is, by itself, pretty clear and succint as well. I’m beginning to wonder if this is a japanese culture thing, although the zen nature of Ruby comes with quite a cost for whoever is building the parser for it. Some of the parsing rules in there look like were made just to blow the minds of the poor souls who ever attempt to write an ANTLR parser for it, but it might be just my disgustingly poor knowledge about parsing rules and all that computer science only real computer scientists (and language writer wannabes like me) care about. Anyway, people shouldn’t set out to write a language that’s pleasant to parse. They should go out and build languages that are pleasant to code in - and Ruby is great in this regard.
Also, the metaprogramming facilities in Ruby kick ass. I think I’m not really in good shape to talk much about or even explain them yet, but Why The Lucky Stiff, probably the sickest and most twisted mind to ever program a computer - and draw cartoons while at it - wrote a pretty good article about it. If you ever wondered what would happen if
java.lang.Classcould be extended and hacked, then this is worth a read.
Uh, what else… ah, yeah, I’ve been compiling a list of this-to-that Java versus Ruby type of thing during the past few weeks. Not a definitive guide by any means, but if it helps people get the picture easier and faster, it’s going to be worth it. More soon!