The 'Pickaxe', as it's affectionately called due to the cover image, is easily the best known pure Ruby book, and probably the best selling too.
The first edition came out in 2001 as a joint effort between Dave Thomas and Andy Hunt. Future editions saw Chad Fowler come on board as co-author. A fifth edition, targeting Ruby 3.2, is now in beta form and set for final publication in 2023. We caught up with new lead author, Noel Rappin:
The 'Pickaxe' is one of the classic Ruby books and well known as a collaboration between Dave Thomas, Andy Hunt and Chad Fowler. You're now the leading author. How did that change come about?
The short version is that I asked Pragmatic about it. One of my roles at my current job is running Ruby onboarding, and when I recommended further resources, it was frustrating to keep saying "Programming Ruby is a great book but it's a little out of date".
I asked Pragmatic if they had any plans for a new version, and if not, if I could help. The CEO of the Pragmatic Press went back to the existing authors – I don't know the details of those conversations – and eventually they said they had no plans for an update but asked me to write a proposal for what a new version would entail. I did this and then there was some back and forth which eventually resulted in us signing a contract and getting started!
1.9/2.0 to 3.2 is a huge jump between editions. What's new this time taround?
Dave, Andy, and Chad wrote a great book, and the goal of this edition is to continue being a great book ten years later.
In general, the new parts of the book are related to:
- New features, all the way up to the latest Ruby 3.2 features
- New tooling, there's a focus on a different mix of prominent third-party tools
- Different expectations for the experiences readers are likely to have had, so a lot of references to Perl and C++ were replaced with references to Python and JavaScript
- Nine more years of understanding how Ruby devs use Ruby, which prompted some changes in what is considered foundational and belongs in the tutorial section and what is considered reference
With a couple of exceptions, the book doesn't specify when features were added (I find that gets confusing), so all the Ruby 3 stuff is there, but it doesn't have a "what's new in Ruby" kind of extra prominence.
How did it work having Dave Thomas as a co-author?
Dave has been in more of an advisory role (especially on the logistics, there's a lot of Ruby code that he wrote which supports the book's generation). He's given me clearance to make the changes that I think are necessary.
Are you planning to write any more books, or if not, what topic do you think could entice you back one day?
I always say each book is going to be my last. But I've taken on a second role as Ruby series editor for Pragmatic, so I'm helping other people who want to write about Ruby create their pitches. People should definitely reach out to me if they have a Ruby book idea.