This past Tuesday, we had a pretty enjoyable book exchange at the Raleigh Area Ruby Brigade meetup. Before the gathering, I had some food with Matt Bass. He mentioned that he was bringing a book he was hopeful would help someone who hadn’t been using Ruby for very long. It turns out that I ended up pulling the book Matt brought (The Well-Grounded Rubyist). My first thought was, oh well, I’ve been using Ruby for years, this probably isn’t a book I’d be into reading. I even tried to convince folks to exchange for it.
When I got home that night, I started looking at it a bit and it seemed interesting. The next morning, I read a bit more and I was hooked. I declared yesterday to be an axe sharpening day. I didn’t code a bit. I spent the entire day reading the book. And about half of today doing the same. I’ve got about 3 chapters left to read. It’s one of the best technical books I’ve read in a long time. David A. Black is an amazing author. The book is filled with crystal clear explanations and I’ve been quite surprised how many aspects of Ruby I didn’t truly undertand.
Ever been confused by some of the code that _why’s written? Ever been unsure how some of the code in the guts of Rails really works? Ever read someone else’s code and had the thought, “why don’t they write simpler code that doesn’t utilize such wacky aspects of the Ruby language?” Ever thought some code was too magical? I know I have. No more. This book has been quite motivational in terms of increasing my desire to reach a new level of Ruby mastery. If there’s some code I don’t understand, it’s on me to understand it. Time to take more responsibility.
I’ve noticed that the folks on the Rails core team and other advanced Rubyists like Nathaniel Talbott regularly take advantage of parts of the Ruby language I haven’t been an expert in. They know what self is, they know that a class method is a singleton method on the class object, they truly understand the more dynamic aspects of Ruby and how and when to customize an object. In short, they own Ruby.
The book has given me even more of an appreciation for how beautiful and powerful the Ruby language is. Thanks for the book Matt!