Really good for a solid understanding of basic Ruby programming. I highly recommend everything up to Chapter 9 or 10. If you are new to programming in it's entirety, I don't think he does a great job explaining what lambdas or procs are and why they're useful. It's kind of a weird concept to wrap your head around. But everything else was very well written and the exercises were easy to understand and helped build the fundamentals.
An excellent introduction to programming, through Ruby. It's concise, so you have to unpack concepts, but he does a great job of introducing things and covering related ground, while sticking to a single topic at a time.
I initially loved this when I first discovered it. It seemed like a gentle and carefully crafted introduction to programming with Ruby. The examples were thoughtfully done, if sometimes a little humorously silly, and the text surrounding them carefully transitioned from concept to concept.
So I decided to use it to teach a class of new programming students. Their reactions were quite a bit more mixed. Most couldn't handle actually reading all the text, not necessarily a fault of the book itself, but it was a problem for its use in the class. A bigger issue though was the way that the Ruby code is taught and written (and this is perhaps more of an issue for the very flexible Ruby language). The book examples are written in a very easy to read sort of way, but it is somewhat different than what is often found in code I've bumped into professionally and other examples and discussion online. For me, this wasn't a big issue, I know many languages and styles of languages and am comfortable flowing from one to another. For my students, though this was a big issue.
The main issue with this is with method parameters. The book doesn't use parenthesis around them, which is often fine, unless you're trying to combine multiple statements on a single line.
my_method param1, param2 vs my_method(param1, param2)
Both are fine on their own, but start trying to show results of methods with puts and you can start running into trouble. Just adding puts is fine, but then if you try to "pretty" up the messages or convert numbers to strings, it's not so fine. Easy answer is to then do that on multiple lines, sure... but then you've got the students looking things up online saying no, just do it this way, and then confusion begins to set in. Why not just teach them to use the parenthesis in the first place? (as several of my students asked me)
Unfortunately, this was such a big issue for syntax errors in the class, that I've decided that I can't use this again. Does it make it a bad book, no not necessarily. I still think it explains things very well. However I really wish the code were just a little bit more in line with what I think of as standard rather than trying to be English readable. For me, that prevents it from serving the purpose I need it to serve. My students are adults, and perhaps a younger audience might be more inclined to learn from the book (vs many sources) and not find this as problematic.