One of the best languages for modern programming is Ruby. It’s predominantly used on the web but also works for software development and smaller apps too.
There’s so much to learn with this language and if you’re looking to get started this post should have everything you need. I’ve cataloged the top 20 Ruby books from the basics to the more advanced topics.
Take a good look over this list and see what you can find!
If you’re completely new to Ruby and general programming then I recommend Intro To Ruby Programming by John Elder. It’s a very detailed guide covering all the basics and written in plain English. Anyone can pick up this book and work through these lessons to come out the other side a confident Ruby programmer.
There’s something about The Ruby Programming Language that makes it very unique: this book was partially authored by Ruby’s creator Yukihiro Matsumoto.
Spanning a total of 450 pages this really is an ultimate guide to the Ruby programming environment. It covers the basic syntax of the language and how to get it setup to run locally on your machine.
From there you’ll dive into more practical exercises for learning datatypes, expressions, loops, and similar concepts.
This book is a tad outdated with the most recent coverage being Ruby v1.9. However the fundamental principles are still the same and reading insights from the language’s creator is a real treat.
Here’s another beginner’s book for getting into the Ruby language and this one’s a bit more up-to-date. In Head First Ruby: A Brain-Friendly Guide you’ll learn how Ruby works and why you should write code in a certain way.
There’s a lot of terminology to pick up if Ruby is your first programming language. Thankfully this book knows how to explain ideas clearly so it’s a great read if you’ve never worked with a language before.
You’ll work through practical examples with lots of code snippets and a clean type of writing that explains why you should code in certain ways. By the end of the book you’ll learn how to work with 3rd party libraries and how to build your own application on Sinatra.
For a clear guide that explains all the confusing points of Ruby I have to suggest this for anyone, especially non-technical people.
The Well-Grounded Rubyist is an interesting book since it covers a lot of ground for both newbies and more intermediate coders.
Early chapters explain the Ruby syntax in a clear manner that should help you keep up with lessons as they move forward. But you’ll work through a lot of complex lessons that may require some technical experience, so a lot of this book sways back & forth to reach a broad audience.
You’ll learn how to organize objects, build your own classes, utilize built-in classes, handle file inputs, loops, and pretty much all the fundamentals of Ruby. It’s taught in a very factual manner so there isn’t a lot of introspection or theoretical concepts.
This also means the book can be tougher for newcomers who have never used a programming language in their life.
But the level of detail is exquisite which make this valuable for anyone willing to work through the guide. And this book has something for all experience levels so it’s a real gem to keep on your bookshelf.
Understanding a new programming language often takes the right kind of teacher. If you’re teaching yourself this can be tougher, but if you learn the concepts properly you should still have an easy time.
In the book Beginning Ruby: From Novice to Professional you’ll be introduced to all the fundamentals of Ruby and how the language works.
Early chapters explain the principles of object-oriented programming and how Ruby should work. It also shares knowledge of the syntax styles and how you can use Ruby for the CLI/terminal, along with building your own websites on Rails.
You won’t get into much depth with any of these topics although you will brush upon many different uses for Ruby.
Think of this book like a tour through the Ruby landscape. You’ll learn all the basics and you’ll get to see how Ruby can be used in the real world.
For a super cheap and pretty short intro to the Ruby language this book is a nice choice without denting your credit card.
Learn Ruby in 24 Hours or Less by Robert Dwight is one of the newest books in this list and also one of the shortest. It totals 110 pages with chapters on various fundamentals of programming like classes, objects, loops, and inheritance.
This is fully up to date with the newest version of Ruby 2.x and it covers many of these new features, although not in great detail.
Because the book is so short it really only works to whet your appetite into this language. But you can always start with this to save money and then move onto a larger book once you’re comfortable with the basics.
Here’s yet another beginner Ruby book that also feels a bit light. Although I have to admit the explanations and writing style in this book are clearer than many others aimed at complete beginners, so this could work for people who just cannot “get” Ruby.
Intro To Ruby Programming is very clean and straightforward. Each chapter introduces a new topic along with plenty of examples and clear explanations of the code.
You’ll learn how to properly structure your applications and how to organize your code for the most efficiency. This isn’t something many beginners think about, although it is something you’ll eventually need to learn so it’s great to see this topic covered.
If you’re a didactic person who prefers self-learning then you’ll really appreciate this book.
It certainly won’t take you the whole way to pro status, but it’s a powerful starting point without a massive page count to scare you away.
Currently in its 4th edition this massive resource is just what the beginning programmer needs by their side while venturing into the wild world of Ruby.
With 816 pages and years of updates, Ruby on Rails Tutorial: Learn Web Development with Rails by Michael Hartl is easily the strongest beginning literature out there. It’s a guide made specifically for web developers and it covers that ground well.
You’ll learn how to setup Ruby for a web server and how to combine your .rb files with HTML/CSS code. Each snippet of Ruby comes with a clean explanation so you’ll walk away feeling extremely confident with your coding abilities.
From setting up a local IDE, practicing the MVC model of programming, and running a test-driven development setup, you’ll learn all the best practices to use Ruby on the web.
If you have any serious interest in Ruby for web development then this book is an excellent place to start. The exercises are very practical and you’ll walk away feeling so much more confident in your coding abilities.
Since Ruby is built on the notion of objects it makes sense to consider it a “pure” OOP language. But that doesn’t mean you’ll have an easier time picking up the concepts behind this style.
Practical Object-Oriented Design in Ruby takes you through the process of an object-oriented workflow. The book spans 270 pages with dozens of hands-on exercises to help you learn everything there is to know about Ruby’s OOP principles.
Right from the beginning you’ll notice this book takes a straightforward approach to teaching. You won’t waste any time on photocopies since there’s so much more to learn by just diving into the code.
Each chapter helps to further your knowledge of objects, classes, and code organization to make your code readable and optimized. Complete beginners can benefit a lot from these lessons along with more semi-experienced coders who want to touch up their OOP knowledge.
Russ Olsen’s book Eloquent Ruby takes this simple language and teaches you how to spin gold with it.
Just because you can write code and get it working does not mean it’s the most efficient way. And this book is geared towards the audience of coders who simply don’t know the most efficient way.
You’ll start by learning how to organize code and how to test for bugs that can slow down your natural flow of programming.
As you get into larger classes you’ll learn that Ruby files can get messy quickly. It’s your job as the developer to understand how you should organize these classes, objects, and internal methods to make sure it all runs smoothly and scales well into larger programs.
Thankfully this 450-page guide is an excellent starting point and the lessons are more than practical.
It does help if you already have experience building Ruby apps so I consider this more as an intermediate-level book.
Here is yet another book aimed at intermediate devs and I think this one can bring a semi-decent programmer to the top of their game.
Effective Ruby: 48 Specific Ways to Write Better Ruby assumes you already know a decent amount about Ruby, but you may not know how to properly organize your code.
Professional programmers who work in teams can often ask lead coders how to structure their projects. But learning on the job isn’t possible if you’re teaching yourself! So a book like this is truly valuable for newer coders because the tips and techniques apply to all professional projects.
Chapters are split into different topics like exceptions, metaprogramming, and testing. You can dive into any section you want or skip around to different lessons that interest you.
But either way if you work through this book you’ll come out the other side a much better coder.
Learn Game Programming with Ruby is a fairly short yet oh-so-detailed guide on the process of building games on Ruby. The author Mark Sobkowicz takes you through many different libraries for adding sound FX, animation, and 2D graphics for any type of game.
The exercises are extremely practical so you can reuse some of these codes in your own projects.
For example, handling mouse/keyboard inputs is a crucial part of any desktop game. Once you work through that chapter you’ll have enough knowledge to apply those skills into anything else you wanna make.
Just note you really need to understand the fundamentals of Ruby before you can move onto this book. I’m not saying it’s impossible to start right away into game dev, but newbies will struggle without understanding basic OOP and Ruby principles first.
Ruby is very unique with its own style different from legacy programming languages.
Design Patterns in Ruby looks into the unique qualities of Ruby showing how to best design applications that work. You’ll learn about common design patterns and what makes a well-rounded batch of code.
The author talks about algorithms, class structures, iterators, and how to observe patterns by studying other codebases. You can dig into tons of Ruby projects just by browsing GitHub and there’s a lot out there.
You should already understand some OOP and have practical experience building object-oriented applications before reading this book. It’s not an easy read but not terribly difficult either.
The goal of this book is to help improve your code and set you up to see design patterns everywhere.
Rob Miller’s book Text Processing with Ruby is an excellent read for anyone working with large batches of data.
This can include API work or people developing huge social networking websites. Gathering user data is one thing, but organizing it and sorting for patterns is a whole different concept.
Throughout these lessons you’ll learn how to run regular expressions and how to work with large batches of text. Rob explains the importance of gathering data properly via database calls, API work, or just scraping raw websites and organizing the data.
These techniques are extremely powerful and you can use them in so many ways. You should already be comfortable with the fundamentals but you don’t need to be a Ruby expert either.
If you wanna use Ruby to process text then this book is a must-read.
The smaller pocket reference guides can prove useful if you’re traveling or if you like having the Ruby codex at your fingertips. Ruby Pocket Reference comes in both print and digital format so it’s a handy choice for developers.
This isn’t as valuable for complete beginners because it doesn’t read like a walkthrough. Instead it’s something you’ll reference as an index of information whether you’re trying to understand a concept better or trying to find the exact syntax for a declaration.
It’s a pretty small book only measuring 4″ wide, but it’s also fairly thick with 220 pages of source material. Early chapters do cover some basic tutorial work but it’s primarily a simple book with very basic lessons.
Organization is superb and you’ll be able to look up any reference you need. But just skip this title if you’re not a fan of the pocket guides.
Don’t let the name of this book scare you off. It’s actually a finely-crafted tutorial series with a step-by-step approach to teaching Ruby for anyone willing to practice.
Learn Ruby the Hard Way comes with 52 pristine exercises for teaching the fundamental principles of proper Ruby programming.
The goal is to force you to type all the solutions yourself so you’ll learn what each command does, and so you’ll get comfortable with the process of building Ruby apps.
Early chapters start from the basics of installing Ruby and running a simple hello, world application. From there you’ll get into variables, basic maths, I/O methods, looping, user behaviors, and more detailed topics on debugging.
Towards the very end of the book you’ll find some info on Ruby programming for practical purposes: game development and web development.
With 320 pages this is not a huge book so it should not feel intimidating to anyone. But it does force you to take action which is ultimately the only way to truly learn anything.
Once you get past the basics you may want to learn a bit more about how Ruby functions. The book Ruby Under a Microscope is perfect for this.
Author Pat Shaughnessy takes a deep dive into the Ruby language exploring how the code executes and what makes some code more efficient. You’ll also take a tour through the Ruby language to study some of the core classes and modules to see how these are constructed.
Two other implementations of Ruby also get some page time: JRuby and Rubinius respectively. These may not relate to your traditional Ruby work but studying how they’re built can improve your perspective on general development.
Overall I recommend this book for intermediate-to-advanced programmers who love Ruby and want to really understand how it all functions.
This will not immediately help you solve problems or build out that cool new project. But it will give you a newfound respect for the language and how it operates.
There’s no denying that Ruby on Rails is the most popular web framework for Ruby programmers. It’s completely open source and has been around for more than a decade having first been released in 2004.
Currently Rails is at version 5.x and the best book on this subject is The Rails 5 Way. Author Obie Fernandez is a well-known Ruby programmer who boasts massive support for the language and the Rails framework. If there’s anyone worth trusting on this subject it’s Obie.
Throughout this guide you’ll learn the basics of installing Rails, working with REST services, connecting into a database, managing CRUD functions, websockets, database schema & security plus a whole lot more.
This really is the ultimate guide to Ruby on Rails and you’ll be learning it the right way using all the latest technologies.
Some chapters also get into Haml for HTML so it does help if you have frontend experience.
Still I think anyone can get through this book if they want to learn Rails bad enough. It’s also a guide that’ll hold its own and offer value for years to come.
This is the newest and most up-to-date book on the Ruby Sinatra framework. Learning Sinatra was first published in mid-2016 and spans a solid 160 pages of exercises from basic setup to detailed customization.
If you’ve never used a framework before then Sinatra is a nice starting point. It rivals the Rails framework which is the most common choice for Ruby programmers.
But Sinatra is also very popular and I think it’s a great choice for beginners due to its simplicity. This book is pretty short but also incredibly detailed using practice projects to explain simple concepts from scratch.
Each code snippet has a very clear explanation so you should have no problem picking up the framework quickly.
If you’ve ever wanted to learn Sinatra this is the clearest introductory guide out there. It’s also the newest available so you know the information is up to date and trustworthy.
As a massive desk reference and a reliable code resource I absolutely recommend this book for any serious Ruby coder.
In this massive book just shy of 1,000 pages you’ll find over 350 recipes full of ideas to help you build any project and solve any problem. Ruby Cookbook: Recipes for Object-Oriented Scripting is the definitive guide to web development, distributed programming, multithreading, and tons of techniques for better OOP.
This book is massive and it can feel intimidating. But it’s also not a read-along book where you flip through the chapters one after another to follow lessons.
Instead you can flip around to find the exact recipes you need to help you learn exactly what you want. It’s only a couple years old so the code snippets are still very relevant, and it covers absolutely every subject you could ever hope to learn.
If you like the idea of a massive desk reference then I cast my vote for the Ruby Cookbook.
Last but certainly not least is Ruby Best Practices by Gregory T Brown. This book treats you like a professional programmer and it’s written for guys(and gals) who take Ruby seriously.
Once you’re past the basics you’ll want to understand how to properly organize and design your applications. This book references class structures and objects along with complex topics for text processing, algorithm development, and regular expressions.
If you’re already comfortable with Ruby but want to take your skills to the next level then you need a copy of this book. It’s an incredible read and guaranteed to bring your skills up higher than you thought possible.
This is also a book you can re-read many times over to refresh your mind and pick up some of the nuanced techniques you may have missed after the first read through.
I know it can be tough finding the right resource but I truly hope this list can help everyone improve their Ruby coding abilities.
If you’re just getting started I recommend two specific books: Intro To Ruby Programming for the absolute beginner just to understand the fundamentals. Then I recommend The Well-Grounded Rubyist to bring you far beyond the fundamentals and to solidify your design patterns.
The more you practice the more you’ll learn and this list should have a little bit of something for every skill level.