I'm writing a book!

I’ve known for a couple months now that this is happening, and I’m even putting the finishing touches on chapter 1 with my editor now, but I think it’s time to talk about it.

I love Ruby. I always will. While it wasn’t my first programming language (that would be BASIC), or even my first “modern” language (that would be Python), it’s the first language where I felt like I was part of a community, and where I really found joy in programming. It’s a wonderful language, and a wonderful community.

The best thing about Ruby (IMHO) is that it’s more than just an object oriented language. It has strong functional bits baked right into the very core of it, right down to the trusty block, which is one of Ruby’s killer features. If you’ve written Ruby in the last 10 years, chances are you’ve been doing a little bit of functional programming to compliment your OO programming as well. This stuff is really cool and very powerful, and it deserves to have a light shined on it.

And so that’s what I’ll be exploring in The Joy of Ruby, which will be published by Manning Books sometime in 2018. Just to get one thing out of the way, no, this isn’t a book about “functional programming in Ruby.” While I do really enjoy functional programming, I don’t think that going whole hog on FP in Ruby is a great way to go. I do, however, think that we can embrace the functional stuff that is part of Ruby’s DNA more, and that by doing so we can write better applications.

I also have to admit that I’m kind of scared to be writing this book. I’m fairly confident that a good number of people in the community, some whom I deeply respect, will disagree with the thesis of this book. That’s ok. Luckily I know those people will be kind in their disagreement. It took me two months to agree to write this book, and most of that delay was because of this big mental hurdle for me. I thought that obviously if folks I respect might disagree with what I have to say, then clearly what I have to say is invalid.

I realized, though, that that’s not true. There are many other people who agree with what I’m going to be covering in this book, and I respect many of them as well. I’m writing this book for those people. If 60 out of 100 programmers think I’m wrong, it’s ok as long as the other 40 get some value out of the book. It’s ok to have a different opinion as long as people don’t get mean about those differences. And in the absence of empirical facts, opinions and reasoned logic are really all we have. I trust that in our wonderful Ruby community, this won’t be a problem.

So, if you want to be notified when the book is ready for purchase (and most likely with some sort of discount code), you can pop your email address in the form here, and I’ll write when there’s news to share.