10 Most Recommended Ruby Programming Books 2017

Author:

Dasha, marketing director

Published: October 16, 2017

Time to read: 3 min

Today we are going to tell you what our team recommends as top 10 Ruby books. If you are looking for resources to learn Ruby, you found them here. These are not in any order because we’re not what we would consider as ruby evangelists. But we spend all our days coding in Ruby, our team has great experience in Ruby on Rails, we talk with the community of Ruby developers.

Beginning Ruby

We are going to start with a book that is written by a highly respected person in software development community, who creates great products. He wrote the book called “Beginning Ruby”. This is Peter Cooper. This is a great book for beginners. It’s tutorial based, which is really good. It has a lot of projects and a testing framework built into. It really takes you through the process of learning Ruby by doing stuff and actually building real stuff. Sometimes programming language books can be very referential or it’s just a reference manual, or they are giving you a little snippet and they’re not really guiding you through the practice of building something.

Rubyist

Next up, we have a well-grounded “Rubyist” by David Black. This is more of an in-depth book you can check out the book here. This book is going to give you more of deep Ruby knowledge, probably not as much as a book for a beginner. Although a big nerd could utilize this book, this is going to go away deeper into Ruby knowledge. If you are the kind of person that likes to really dig in deep. But it might not be so good if you are just starting out. Well-grounded “Rubyist” is definitely a highly recommended book for serious Ruby developers.

Programming Ruby 1.9 & 2.0

Then we have got “Programming Ruby 1.9 & 2.0”, the pragmatic programmers guide. This is another deep book, but it delves really into the why and the how, which is really important. It talks about object-oriented programming a lot. Some people learn better that way. We found, some of us generally have a better understanding of something or we learn something better when we have an understanding. If you want really curious about why we do something like that in Ruby or how it’s implemented and things like that, this book is going to be beneficial to you.

Ruby cookbook

Then we have “Ruby cookbook” which you can check out here. There is a certain reason “why” it has a lot of idiomatic Ruby code. So, it’s like how should you generally do something right. One of the problems with learning a programming language is that if you don’t have guidance on how you should write in that programming language if you don’t have someone teaching you the idiomatic way to write a programming language you sort of invent your own it might not be readable. You may be reinventing the wheel. So having “Ruby Cookbook” you have some recipes, some ways of solving problems, you don’t have to reinvent the wheel.

Effective Ruby

Next book we have is “Effective Ruby”. This is another kind of books that we like. It takes common problems and it sort of solves them. You delve deep into them. That’s one of the advantages this effective series of books. This is still how, why, what we do in this way. It gives you the deep understanding of the programming language. It’s not how to solve the problem, but why and what we do this way.

Metaprogramming Ruby 2.: Program like the Ruby Pros

Another book is “Metaprogramming Ruby 2. Program like the Ruby Pros”. This is more than an advanced book of metaprogramming. Ruby is unique. When it was first coming out and being popular. You can sort of redefining the language yourself. You can redefine some of the native libraries, rebind things. If you’re a beginner, that’s OK, but you should understand that. You can sort of meta, the word “meta” means a higher level of abstraction. You can do a lot of that in Ruby and that’s sort of a useful tool. As a beginner, you probably don’t want to focus on that in any programing language. But eventually you want to be able to change the structure itself, you want to be higher level and that’s where this comes into play. So a lot of great stuff you can do involving metaprogramming. We check out that book not necessary for beginners. But with “Metaprogramming Ruby 2” you program like the Ruby pros.

Eloquent Ruby

Next book we have is “Eloquent Ruby”. This is the book focused on Ruby on Rails. Ruby on Rails is popular web development framework. This is sort of intermediate book. If you are going to do web development especially Ruby on Rails this is the recommended book. It teaches you how to write good clean code. That’s one of the things definitely apparent in this book.

Clean Ruby

Also, we have “Clean Ruby”. Another one of those books that are sort of eloquent side of it right. Writing clean code in Ruby, this is really important as you start to improve as a Ruby developer, as a developer in general, you want to make sure that your code is readable as possible. Writing good clean and manageable code is really important.

Agile web development with Rails 5.0

Next book we have is “Agile web development with Rails 5.0”. This is a beginner book, but it’s up to date. It’s a new book with Rails 5, that’s going to teach you Ruby. It’s going to take you through becoming a Ruby on Rails developer with the latest version of the rails framework.

Learn Ruby the hard way

Another book is “Learn Ruby the hard way”. This is another series of books that we like learn Ruby the hard way. This book is focused on writing the code first and learning by writing code, by solving the problems. Instead of getting a lot of information and applying it, you are immediately applying it and then you are backing up from that. So that’s why it’s called the hard way.

The list above describes our top 10 Ruby books, that have proved useful for our team. We know it can be tough finding the right resource but we truly hope this list can help everyone improve their Ruby coding abilities.

Author:

Dasha, marketing director

Published: October 16, 2017

Time to read: 3 min

Contents: