One of the most commonly found books in many of the “top Ruby books to read” lists you will find on the internet is, Eloquent Ruby.
This book is a thorough overview of the Ruby programming language, which will walk you through all of the major topics required for being a modern Ruby developer.
Eloquent Ruby is written by Russ Olsen, a prominent author, speaker and developer within the Ruby community.
What does the book cover?
The book really does cover a lot of ground and touches upon almost every topic you will need as a newbie Ruby developer. I can imagine if you only have a minor understanding of the Ruby language, this book will really introduce you to the horizon of what you need to learn to become a competent and employable Ruby programmer.
Each chapter of the book is fairly short and to the point. This is great because I often find technical books can be a bit of a slog. When you’re learning something new, you don’t need to be bogged down with 20 pages of minutia.
This also means that the book never really gets into any depth on any particular topic. This is either a really good thing, or a bit disappointing. It’s good because it means the book is not overwhelming, but if you’re already familiar with the topics, you probably won’t learn anything new.
A couple of weeks ago I reviewed Practical Object-Oriented Design in Ruby. Poodr is all about Object-Oriented Programming and the related design patterns and concepts that are important. Eloquent Ruby on the other hand primarily looks at the Ruby programming language.
There certainly is a cross over between the two books, but I definitely think there is value in reading both.
Why is the book good?
I think this is a really good book for getting a general feel of the landscape of what it takes to be a professional Ruby programmer. The book won’t teach you everything you need to know, but it will at least introduce you to the majority of topics and concepts you will have to go on to learn more about.
Learning to write code can be overwhelming, but Eloquent Ruby is distinctly not overwhelming in the pace or explanation of the material.
For example, the book covers meta programming, but not to the extent that it will blow your mind if you’re totally new to the concept.
Who is this book aimed at?
I think Eloquent Ruby would be perfect for a very specific type of Ruby programmer. If you’re beyond the introductory steps of an online course, and you feel like you need to take the next step towards being a Ruby programer, I would highly recommend reading this book.
You will probably find that you are familiar with a lot of the content, but repetition and reading another explanation of the topics will certainly help cement that knowledge and understanding.
I think if you’re currently a Ruby programmer, or you already have a lot of experience with the language, you probably won’t learn a lot from this book.
However with that being said, if you do want to cover the bases again and get a good guide to the basics of using Ruby, I don’t think you can go wrong with Eloquent Ruby.