Excellent Overview
This is a great introduction to Ruby. It covers the basics without swamping the fledgling programmer in too much complexity. That's not what newcomers need. They aren't worried about the nooks and crannies of the array class; they're wondering what the heck an array is, and what makes it different from a hash. In that respect, this book strikes a nice balance.
Having read (and bought) most of the O'Reilly books on Ruby, Perl, and Python, I can honestly say that this book ranks high at the top of them--not because it is the definitive work on Ruby (it isn't and isn't supposed to be), but because it covers the core essentials in a way that you can read in an afternoon. For that reason, it is an excellent choice for a first timer in Ruby and/or programming to see why Ruby is a great language worth learning, without having to get a computer science degree first, and without having to hire a Sherpa to help them lug their book around while they read it (I'll refrain from pointing fingers at other books here).
I think that's one thing many of the reviewers missed about this book. "Learning Ruby" is designed for the newcomer who wants to get jump started in Ruby, not for the experienced programming who is just looking for a nutshell summary.
I would also like to add that at one point, I had a question about what was included with the one-click installation system and emailed the author, who very quickly investigated the problem and emailed me back with an answer. You have to admit: that's pretty impressive.
Now, there are areas of the book that should probably be expanded on for the next edition. Primarily, I'm thinking of a chapter devoted to regular expressions a la "Learning Perl", a chapter devoted to IO (this would be brief but handy) including a section on string interpolation and how to use and combine string methods (a very cool aspect of Ruby), and finally an expansion on the chapter involving classes to address a few of the things that some of the other reviewers have already identified as important but missing.
However, those are not fatal by any means, and for the first edition in a relatively new language, this book is well worth the time and money.
Very good book for what it was done for!
I don't understand why some people complain about this book's simplicity. That's exactly what the book was done for and that's exactly what to author states in the first lines. This book is to get you up and running quickly and NOT to turn you into a Ruby master. I read the Dave Thomas book and it is complicated. It is also boring most of the time. This one is for busy developer who wants to get the basic first and teach himself the advanced stuff later. This book is thin and objective, pretty much like Ruby. If you want to start coding quickly buy this code. If you want to "entertain" yourself over some months with a bunch of theory buy Dave Thomas' book.
Incomplete (rushing), lots of errors, no feedback from the author
This isn't the book that "does one thing but does it extremely good". If the author wants to cut corner (due to the depth of Ruby as a language), he should cut some features not the explanation.
When you have code like this:
[An example of rolling 2 dices]
r_1 = rand(6); r_2 = rand(6)
r1 = r1>0?r_1:1; r2 = r2>0?r_2:6
And a comment like this:
"...a little fancy footwork to make sure it does not return 0..."
These are signs that you just got duped.
Often I have to guess why he wrote certain piece of code the way he likes it. Explanation does not exist.
There are errors in the books. I've filed them on O'reilly website but found out that the author does not verify them. Others had voiced the same concern as well on O'reilly website.
I would suggest others to buy "Beginning Ruby" from APress if you're looking for an alternative books on Ruby aside from the "PickAxe" (Programming in Ruby 2nd Ed by Pragmatic Bookshelf) book. "Beginning Ruby" is 3 dollars more expensive but covers Ruby more and have better rating.
One last note:
AVOID ALL O'REILLY BOOKS ON WEB 2.0 (OR HOT TOPICS).
Learning JavaScript is not much different than Learning Ruby book. Read the review if you don't believe me.
Learning JavaScript (bad)
Learning Ruby (bad)
Ruby on Rails: Up and Running (bad)
Learning C# (ain't no better than C# for Dummies or Teach Yourself series)
O'reilly is selling thin books with "thick book" price. Shame on you Tim.
Learning Ruby but Ruby Newbies Move with Caution
As a book entitled "Learning Ruby", this is a draw for new programmers looking to pick up ruby and the book's smallish size (compared to other ruby works on the market) adds to that attraction for me. The problem is that while the author wants to target both experienced programmers and novice programmers alike, it is the novice programmers who are short-sticked but I do caveat that with "...depending on what your novice needs are."
I think this book falls in wonderful place just past absolute beginner and right before intermediate programmer. Learning Ruby is short on code examples with lengthy explanations but NOT short on code OR explanations.
It is really sort of like a "hacks" type of programming book with a swiss-army knife type of utility. What this means is that the experienced programmer will immediately see the value in this book and find productivity with ruby fairly quickly if not instantly because of the concise code examples and explanations.
The novice programmer and 'Ruby Newbie' will need a little bit of ground work. At least I did. The good news though is that this really is a fantastic book for someone looking to "learn" Ruby in a short amount of time but basics only. What you will need is some basic understanding of programming concepts to read more into the short explanations of ruby programming concepts in this book. I know, to suggest some basic understand to read a book that is supposed to teach basics isn't right. That is the books weakness yet the book is truly accessible to all but the newest of new programmers.
I actually started out with Beginning Ruby by Apress, a five star book at the time of this writing. The Apress book does much more hand holding for the beginner and does an excellent and good job of it before quickly ramping up the challenge of coding.
Chapters 2 and 3 of the Apress book alone are worth the price of entry...no beginner should be without that book. With that said, Learning Ruby is a good read that has the right mix of information to make a great reference for quickly looking up Ruby programming concepts as you get started with Ruby. You will quickly get familiar with Ruby using this book.
It's not too thin and it's not too thick. It is just right but NOT right as a stand-alone work for Learning Ruby and slightly less desirable as a first work on Ruby for newbies.
Some of the examples or hacks were kind of cool to know having read the Apress book. I'm never one to tackle a new subject from a single author. I attack it from 2 or more authors at the same time with overlap of texts for a broader approach on the topic.
So to the Ruby Newbies and novice programmers like myself, if you need an additional ruby book that is much quicker to work through as a reference but also with enough explanation and code to provide a decent context for learning then this is great resource only if you've done just a bit of ruby coding before or at least understand some programming concepts or hold a basic, minimal understanding of the ruby.
This book is, though, an excellent added resource to your library of learning. The author makes a nice progression from quick hits and examples of Ruby overall to more focused topics and bit deeper dive towards the end. I would suggest however that you start with Beginning Ruby by Apress, Ruby By Example and The Ruby Way, Second Edition (in that order). It isn't a bad idea to tackle more than one book at a time, at your own pace, cross-referencing and comparing as you go.
This is a great way to accelerate your learning and understanding.
~TL
Learning (More) Ruby
The chapters are tightly organized and neatly structured. The author writes clearly and directly. You'll learn a lot.
There are many short paragraphs and examples that lead to moments of "Oh, so that's how it works!" This is now my favorite book for sharpening my understanding of Ruby while expending the least effort.
The chapters cover all the basics of Ruby - strings, hashes, arrays etc. But you also go nicely beyond the basics. Chapter 9, on Classes, is the clearest explanation I've seen covering Ruby and object-oriented programming. The author also easily explains advanced topics (like Reflection) - and other real delights that are in use by Ruby programmers and hackers around the net.
There is an unexpected surprise at the end of the book, with a comprehensive but short introduction to Rails. It's not just a thoughtless bolt-on, but a natural extension to the rest of the book. As if this wasn't enough of a bonus, Appendix A presents a thorough "Ruby Reference". You'll also find an informative Glossary full of useful / practical terminology.
This may not be perfect as a first book on Ruby or programming, but no book deserves to stand alone on a bookshelf. "Learning Ruby" is certainly a great one to own if your intent is to explore and harness the power of this technology.
What other book on computer technology shows you how it works, introduces you to the culture and forces driving its development forward, and provides plenty of code for you to freely tinker with? This one does - and it's packaged in a binding that is thinner than a laptop.
It's a great book - don't miss it.