Jump to ratings and reviews
Rate this book

Ruby Programming: The Well-Grounded Rubyist

Rate this book
International Paper-back Edition, Same as per description, Economy edition, May have been Printed in Asia with restrictions on cover like not for sale outside asia etc, Legal to use as per US Courts. Save Money, So why Pay more? Free tracking with fast & professional service with excellent customer service. Please contact us for any queries on listing.

536 pages, Paperback

First published December 15, 2008

150 people are currently reading
964 people want to read

About the author

David A. Black

10 books11 followers

Ratings & Reviews

What do you think?
Rate this book

Friends & Following

Create a free account to discover what your friends think of this book!

Community Reviews

5 stars
377 (49%)
4 stars
261 (34%)
3 stars
95 (12%)
2 stars
19 (2%)
1 star
7 (<1%)
Displaying 1 - 30 of 66 reviews
Profile Image for Louise.
968 reviews316 followers
November 21, 2009
This was suggested to me by someone as a helpful book for someone new to the language but not new to programming in general. I found this more helpful than the Pickaxe book because it's concise with examples while being detailed in the why's, when's and how's of things, which is something I'm more interested in when learning a new language.

It's an excellent companion to the Pickaxe book since it gives a different voice and perspective on the subject. I mainly read The Well-Grounded Rubyist and then used the Pickaxe book as reference when I needed to look up something more technical.
Profile Image for Michael.
163 reviews73 followers
November 30, 2010
If you are new to Ruby, this may very well be the book you are looking for, since the author was really serious about the well-grounded in the title. Together the first six chapters form Part 1, aptly called Ruby Foundations. Here youll learn about objects, modules, classes, self and control-flow techniques. Although this part may not be the most interesting for more experienced Rubyists, its certainly well-written and manages to present a lot of very fundamental Ruby right at the beginning. True, at first I was a bit surprised to see that singleton methods were implicitly introduced before classes, but when you follow the authors logic, it all makes a lot of sense. What I really like about this approach is that it exposes the reader to concepts needed for some quite advanced Ruby coding right away, and in a very light-hearted and natural manner. Well done!

Part 2 (Built-in classes and modules) covers everything from strings, over symbols to regular expressions and file I/O. What I really like about this part is that the author dedicated two whole chapters to collections and iterators/enumerators, which are essential for everyone striving to become fluent in Ruby.

Last but not least Part 3 (Ruby dynamics) talks about singleton methods, procs, lambdas, Symbol#to_proc, the various eval methods, bindings and introspection, thus equipping the reader with all the necessary tools for metaprogramming, one of the many things that make Ruby that sexy little beast it is.

Oh yeah, since I didnt mention this before, The Well-Grounded Rubyist covers Ruby 1.9.1, which means youll learn about the coolest Ruby around. Dont worry though, most of what you read will also apply to 1.8.6, but isnt it about time that we all slowly moved on?
156 reviews3 followers
February 7, 2017
It's an advanced book. If you've worked with Ruby before but want to really learn the language, this would be the book. It is not a beginners's book: for example explaining some kind of objects, it would start explaining how to create them, not why they are needed first.
But if you have some experience, there will be plenty of "that's why everybody does X instead of Y". You really start understanding the language
Profile Image for Burak Dede.
25 reviews6 followers
February 22, 2020
Only read the first part of the book about 200 pages at safaribooks and can not finish the next parts. Overall its a really good book for people who have experience in other programming languages, Book teaches a new version of ruby with new features so it's a plus but I expected the examples a little more sophisticated.

[UPDATED] (read the latest edition of the book) Finished the book and I think this is the best you can get for learning ruby. Interestingly there is not much high-quality book about ruby. Even reading the first part of the book gives you a feeling that you know enough to write significantly larger programs. One thing is missing from this book is "well-grounded" ruby examples. Most of the time the author knows that the example given does not make sense but does it anyway. This is a bad approach, programmers have a tendency to pattern match code way too much so it's important to expose high-quality code. Add solid real-world code examples to this book and you probably won't need other books.
Profile Image for Michael Koltsov.
116 reviews70 followers
September 5, 2017
Ruby (along with Python and Javascript) is a kind of a language that allows you to use it without dropping a sweat to study it. That's what has happened to me. I've been using Ruby for a while, but haven't read anything but blog posts about it.

This book gave me a good momentum to start using some of the Ruby features I (i.e. Fibers ) that I was  completely unaware before, though the amount of input it provides is not overwhelming which helps you to digest this book over a weekend.

That's a good starter for anyone willing to start coding in Ruby 2.1, lots of examples are outdated if you aim for Ruby 2.4+
Profile Image for Gene.
5 reviews3 followers
April 4, 2013
A very comprehensive book on Ruby, one that makes a good on embracing the masses, from novice (like me) to veteran programmers. One of the things I don't much care for in this book is the manner in which an explanation of certain subjects like objects and classes is lost in confusion, double-backing and switchery. For example, the story of grandpa's older brother, here the story is intentionally overcomplicated and confused to illustrate the complexity of Ruby. Poorly, I might add. Even still, I am very grateful and appreciative to have this book to learn from.
Profile Image for David Fulmer.
501 reviews7 followers
May 2, 2022
I have used several different programming languages in my career as a programmer and I had to learn Ruby for my job so a colleague recommended this book and I read it front to back. I’ll start by describing some of the shortcomings, since they lead to some exasperation that I think could have been avoided if I had been aware of them first. The first few chapters have exercises which are helpful to demonstrate and reinforce what you’ve been learning. But I had some problems with some of the exercises. One problem was that sometimes the solutions to the exercises were in the downloadable code available at the publisher’s website, but sometimes the solutions are not available. While there are not a lot of exercises overall, this was a source of frustration. Another source of frustration with the exercises is that there are several exercises where the solution involves a concept or tool that has not yet been introduced in the text. I know this because there was at least one exercise where the authors provided a solution and I could see that they used something that hadn’t been covered in the text yet. I think there was at least one other exercise that used a future concept but I’m not positive because it was one of the exercises they did not provide the solution for.

The code in the text, as well as the code in the downloadable code from the publisher, has bugs in it. This was really frustrating to deal with because as a beginner it can be very hard to understand what is going on when you copy and paste some code and it won’t run. You wonder, do I have a different (i.e. wrong) development environment? Did I install Ruby wrong? How can I as a beginner debug a strange programming language I’m just learning? This seemed to happen to me a lot and I stumbled upon the publishers website for this book where they let readers discuss it and it appears many others have experienced these issues. Some readers were kind enough to offer corrections there and I recommend following the discussion on that website if you want to avoid the frustrations of running some of the code with bugs. At least you can refer to that online forum to know that it is not just you having these problems.

I think it’s kind of mind-boggling that this is the 3rd edition of the book and they haven’t corrected so many errors, especially bugs in the code. (The actual text seems to be very well proofread, it’s mainly the code where there are problems.)

I don’t want to make it sound like there is an error on every page - there isn’t, it’s just that when you are a student trying to learn a new programming language it’s very frustrating to be given code with the impression that you can just copy and paste it and it will run fine and it in fact will not run fine. Also being given exercises that you can’t conceivably complete until you learn how to apply concepts that haven’t even been introduced yet is very frustrating. A little before half way through the book the authors did seem to mostly give up on giving the reader exercises which, while I missed having an opportunity to demonstrate my new knowledge, was honestly kind of a relief.

I did find the authors’ habit of sort of getting into the weeds annoying too, but others may appreciate this. They are less interested in providing practical hands-on knowledge and experience and more interested in explaining Ruby under the hood and pointing out some of its broad capabilities. For example, when discussing dates they showed how to determine what a date according to our current calendar would have been prior to the calendar reform of 1752 in England. It’s great that Ruby can help you pull it off, but I don’t know who is going to make use of this and I’m not sure it really has a place in what is essentially a textbook for beginning Ruby.

What’s good about this book is that it is very thorough, maybe even too thorough. The authors walk you through many, many different areas of Ruby, from setting up Ruby on your system right through to many advanced concepts. It starts out with the basics like objects, classes, and modules, then moves on to very useful subjects like regular expressions and conditionals. In the last few chapters the authors make comments like, ‘you probably only need a reading knowledge of this concept’, or, ‘you probably won’t ever want to do this, but this is how to do this’. For some, this will be evidence that this is a very comprehensive introduction to Ruby, for others, this will be evidence that the editors should have intervened to remove some of this extraneous material. As for me, I’m glad it’s there but I’m not sure how useful it will be to me or other readers.

Overall I think this is a good introduction to Ruby. It’s very comprehensive and the many different areas of Ruby that it covers are well-organized into a complete course on Ruby. While I did find a lot to dislike about the book and wish the code had fewer bugs I think that a reader picking up this book with the knowledge that there are those problems might not have as frustrating an experience as I had. This book should leave you with a good understanding of Ruby overall.
Profile Image for Vasiliy Sikorskiy.
91 reviews6 followers
December 1, 2018
Давненько я не читал книг по программированию. Пожалуй, лет 10. Более того, мне казалось, что бумага в этой области отжила себя и все заменилось видео-курсами, онлайн-интенсивами и скринкастами в интернете. Но прочитав эту книгу могу сказать, что нет. Книги - это благо, когда нужно в голове создать структуру. Когда ты уже многое знаешь, но знания похожи на лоскутное одеяло. Здесь же мне хотелось основательно разложить свои знания языка программирования Ruby по полочкам. На мой взгляд, в книге это сделано хорошо и глубоко. Сам язык Ruby мне тоже очень нравится и я получаю большое удовольствия, лично создавая какие-то небольшие проекты на этом языке. Лучшее, что я встречал по Ruby.
Profile Image for Oleg Tolmashov.
23 reviews2 followers
September 28, 2020
Decided to read this book for a deep understanding of ruby's philosophy. To be honest, I've found almost all the answers I was seeking.

if you're already working as a rubyist for a while, perhaps you need this book even more then beginners. Now I understand, for example, why constants in ruby can be changed, got a deeper understanding of the language. Also, learned a lot about metaprogramming in ruby and it's opportunities, found out how ruby is working and it's philosophy.

As for me, it was a quite long read, but a nice one.

I'd recommend this book to both beginners and professionals
2 reviews5 followers
March 16, 2018
Ruby's a complicated language and this book does a good job of explaining its intricacies.

My one gripe, and it's minor, is that the book often pulls in constructs and ideas it hasn't talked about yet because it's convenient, so they're talking about a new thing and then you have to keep that new thing and some other new thing straight at the same time. There are lots of co-dependencies in Ruby, so I'm not sure I could do better, but it kept me from giving it a 5.
Profile Image for David Rissato Cruz.
25 reviews6 followers
May 16, 2018
This book is exactly what I was looking for. It gives you a in-depth introduction to Ruby language, assuming that you are already a programmer and that you really want to understand what is going on.
I don't know if I would recommend it to someone who has no other language experience, but I would blindly recommend it to you if you already know some other language and want to understand how Ruby works.
Profile Image for Jean Tessier.
164 reviews32 followers
December 5, 2019
The ultimate reference for Ruby is still The Pickaxe, but it can be a little dry. The Well-Grounded Rubyist does a great job of walking the reader though all the parts of the language, pointing out tricky areas along the way. It is very pragmatic and, well, grounded.

One nitpick is that at one point, the authors don't lean hard enough on the "is a" relationship to decide whether to use inheritance or mix-in. These two composition methods are more than just about how an object locates its method, it's also about others' expectations for a reference to an object.
Profile Image for Dimitar Ralev.
8 reviews8 followers
December 21, 2020
A great book for any level of expertise and experience. It often goes deep into the inner workings of the language, so you are almost guaranteed to learn something new.
I would also recommend it if you are unsure how the "everything is an object" phrase truly affects the flow of a language.

One warning I can give is to mentally prepare yourself before going into the Enumerable and Enumerator chapter. It's a long one, and things get complex fairly quick.
Profile Image for Sean.
373 reviews3 followers
July 30, 2020
This is a very robust overview of the various features of Ruby (not Rails). It includes the more advanced features of the current version of the language, with many examples. The book is long, over 500 pages, and not a quick read. Still, reading it and practicing the examples will prove very educational to ruby developers seeking to level up.
Profile Image for Smai Fullerton.
55 reviews6 followers
August 14, 2021
As a programmer with no prior Ruby experience who just started a Rails job, this was exactly the book I wanted to read. Clear and concise, perfect level of detail on many Ruby language concepts including an intro to metaprogramming. Great orientation for understanding how exactly the Ruby language helps to facilitate Rails magic.
Profile Image for Ethan Swan.
65 reviews
January 31, 2022
A solid introduction to Ruby. A bit simplistic if you come in with a solid foundation in programming (some concepts could be explained much more concisely using existing terminology; for example “lexical scoping” is never said explicitly and is explained over several paragraphs), but thorough and generally well-written.
Profile Image for William Huang.
2 reviews
August 14, 2017
A very easy read that provides some in depth knowledge on the inner workings of Ruby. This book is a perfect book for those who have worked with ruby for a little and want to understand exactly what is happening under the hood when they are programming.
Profile Image for Avraam Mavridis.
133 reviews24 followers
July 25, 2018
It is a great book, it doesn't give a superficial introduction as most of the books out there, but it really explains in detail how the various language concepts work.

Finding methods dynamically, inheritance, mix/multi inheritance, lambdas, procs, singleton methods etc, are presented very well.
Profile Image for Toni Dezman.
8 reviews
May 26, 2019
One of the best Ruby books I have read. You will get most out of this book if you are beginner or mid level developer. Even if you are seasoned developer I think you will find few things that you probably didn't know.
Profile Image for Henry Ho.
30 reviews
November 19, 2019
Lots of info, a lot of which didn't seem necessary. Hard to follow, explanations oftentimes felt wordy and examples convoluted. It did give me a better understanding of the inner workings of Ruby and it's standard library.
2 reviews
April 8, 2018
Amazing book providing all the ins and outs on Ruby. Can really recommend.
13 reviews1 follower
September 6, 2016
Superb grounding in ruby.

I've played around a little with Ruby in the past but never quite managed to take the next few steps and get a deeper understanding of things. This is why I picked up this book when I decided to give Ruby another go.

The Well Grounded Rubyist sets out to give you a good grounding in Ruby, and it doesn't let you down.

It isn't just a simple primer to the language - you really get a deeper feeling for Ruby.

On reading the book you'll start to appreciate why Ruby is as it is and this is the key to taking the next steps with Ruby and also having more fun.

That said you will not become a Ruby expert just by reading the book - I'm still not there but I do feel a whole lot better after reading this book.

If you're aiming to learn Ruby this is a super book to start with. You'll be able to start using Ruby as a language but also start understanding why things work and this is a big plus.

I didn't start from scratch, I had some basic understanding of Ruby but I didn't touch it for years. Still I got into things quickly and had fun doing so.

Pros:
Well written, packed with information, makes you feel you understand ruby at a deeper level (and you're not just blindly writing throw-away scripts)

Cons:
I do struggle a bit using the book as a reference, it isn't a nutshell type of book. I know the info is in there but sometimes it takes me a little time to find it.

If you are just starting to use Ruby I'd strongly recommend getting a copy of this book.
Profile Image for Alex.
5 reviews
September 29, 2022
This is a freaking amazing book that reveals Ruby magic. It took me a while to finish the book but every page is worth it. I switched to web dev from AI and Computer Vision and everyone was telling me about "ruby magic".

After reading this book I think that there is no magic in ruby but metaprogramming and shortcuts. One of the questions I had before starting this book is what does `self` refer to? Because sometimes you declare class methods with self but the other times you declare instance variables with `self`. So does it refer to a class, an instance of a class or something else? The answer is `self` can refer to both a class and an instance depending when you ask this question. More generally, `self` refers to an object that is executing the current operation. When we declare a class, we are inside a class object, and `self` is referring to that class. But inside an instance method, `self` is referring to the instance of a class that is executing this method.
Also, understanding that every object has two classes: the class that it inherited from and its very one singleton class is super powerful. So that, each instance of a class might have its very own methods and constants that other instances of the same class don't. Ruby dynamics is crazy unless you know how it works...

Would love to read a similar book specifically about Rails!
Profile Image for Eric Brooke.
111 reviews18 followers
October 11, 2013
This is a good book but tough to read from cover to cover. I have learnt a large amount about Ruby from reading this book. Whilst the style is conversational the chapters builds upon its self, making it less of a reference book and more of read from chapter 1 to 15.

I read this as a junior rails developer, but knowing several object orientated languages. The explanations are good, but occasionally uses meta language with out explaining them. It also compares different "methods" talking through the pros and cons of using different approaches.

I feel I will have to read this book at least twice to take most of the knowledge and wisdom from it. But without a doubt my Ruby knowledge has a far better foundation.

Its worth noting that I read this book, the "standard version of ruby" was 1.9.3/2.0.0 and this was written for 1.9.1. I believe they have started rewriting this book for version 2.0.0 and it is currently available under the MEAP (early release program) program by Manning Publishing. http://www.manning.com
Displaying 1 - 30 of 66 reviews

Can't find what you're looking for?

Get help and learn more about the design.