Don't hold back your Ruby
In the first article of this series we looked at general must read programming books and in the second we took a look at the Java world. Now to step up to the plate is one of my favourite languages, the terse,the beautiful,the sublime, Ruby!
Ruby is a great dynamic language that has gained a lot of traction largely thanks to the popularity of ROR (Ruby on Rails), so without further ado let's jump into the best books to level up your skills with Ruby.
The well grounded rubyist
If you are going to buy one book about Ruby this would be the one, in fact it feels more like having a senior dev go slowly over the key concepts patiently with you. It covers all the core concepts and is the perfect introduction to the language if you already have experience with a couple of others. It's fairly light on larger examples and concentrates on mastering the use of modules,object orientation the Ruby way and advanced topics such as callbacks,hooks and runtime introspection.
The latest edition came out in July this year and is available at Amazon.
Programming Ruby 1.9 & 2.0: The Pragmatic Programmers' Guide
Commonly referred to as the 'pickaxe book' this is very similar to the Well Grounded Rubyist in that it covers the key aspects of the language, to be honest it's very close in quality to the Well Grounded Rubyist but I prefer the writing style of the former a little more. I do own both books and they can complement each other, take a read of some sample chapters of each of the books and go for the one that has the writing style that gels for you!
Available at Pragmatic Programmers
Practical Object-Orientated Design In Ruby
If the first two books are what give you your foundation in Ruby this is the book that seals the deal and solidifies your blossoming passion for writing Ruby code. Honestly this is the book which I wish I could read in each language I use. It's not only how to get the most effective decoupled and testable designs in Ruby but there are loads of takeaways and snippets that you'll be able to add to your programming toolkit. This is the book that made larger Ruby projects really click and not just become an extension of my former although awesome (&slightly messy) scripts!
Available at Amazon
But where is Rails?!??!
I know, I know! It's a huge part of the community and one of the reasons for why Ruby is so mainstream but I just can't bring myself to recommend a book on it, it's not a slight on Rails as it has many fantastic projects and programmers. For me I think it hides away some of the path of learning Ruby and makes it harder to really grok the language. I think Ruby is a high enough abstracted language that I don't need magical frameworks (see Spring in Java ;)).
This leads me nicely onto my number one favourite crush in the Ruby world, the awesome amazing Sinatra web framework, just try it out! Take a weekend with one of these books, some good beers and fire up Sinatra and revel in the simplicity.
Unfortunately there are no Sintra books about that cover larger scale applications but there are some great blog posts on the topic such as Alex Maccaw's excellent blog and Phrogz's great Stack Overflow answer here!
Conclusion
Ruby is awesome,Sinatra is awesome and cough cough Rails is awesome too, there is a lot of fun to be had in the Ruby world so dive in and expand your repertoire!
As always feel free to reach out to discuss,argue or even perhaps agree with my book choices! You can reach out to me on Twitter or leave a comment below! Hopefully in the next edition I'll have convinced two colleagues awesome with Javascript to give me their definitive JS reading list!