
A Google user
languages. It is precise and concise; where possible, the examples
demonstrate not only syntax but also intended use. No silly examples
of, say, arrays of stones, playing on a bad and boring stone age
television programme here!
And the authors are helped in that they are describing a truly
fascinating language. It is object oriented through and through, has
all the usual features of programming languages such as conditional
statements and "for" and "while loops, but it has more, much more.
The concept of an iterator is fundamental to the language; indeed, a
ruby programmer soon finds himself thinking in terms of iterators,
internal and external, rather than "for" loops. This is the sort of
language that appeals to programmers because it's truly fun to program,
and this is the best book on a programming language in existence. It's
riveting!
But the one big problem is, very unfortunately, that ruby is buggy.
Worse, there doesn't appear to be anyone to send bug reports to; the
unfortunate user is left to stew in his own juice. I've even
experienced ruby executing a program differently depending on whether or
not a comment line is deleted or not. Different ruby versions yield
different results on the same program, and, when ruby signals a
programming error and you enter the debugger, ruby's behaviour suddenly
differs from that without the debugger. And when you are in the
debugger, and the error is at line 12345, and you are at line 10, which
is a loop consisting 1,000 iterations, you try to skip the loop, but
then you never regain control before the error. So you sit there and
single step through the loop, solely so that you can still follow the
execution once the loop has terminated.
Unless these bugs are removed, or even reported so that somebody can
look into them, the ruby language and with it this book cannot be
recommended to anybody except the masochistic.