A staged reading list for anyone learning Ruby and Ruby on Rails, from the basics to real practice. Each pick has its own review on this blog, and every entry links to it. The order follows a learning path: the language basics, deepening Ruby, and Rails in practice.
Why learn Ruby
Ruby values readability and ease of writing, and together with Rails it has powered service development for years. Its expressiveness lets you convey intent in little code. Grasp the language's philosophy, and your understanding of Rails moves along too.
1. Get started with Ruby
Fun with Ruby
A staple introduction that explains Ruby's syntax and basics for newcomers. You move through it as a comfortable first read. I cover it in the review.
Introduction to Ruby for Aspiring Professionals
It teaches production-ready Ruby alongside test-driven development. You pick up not just syntax but sound style. My notes are in the review.
2. Deepen your Ruby
Perfect Ruby
A reference-grade book that covers Ruby's features broadly. Keep it at hand to look things up as you work. My notes are in the review.
Metaprogramming Ruby, 2nd Edition
It explains, in a systematic way, the metaprogramming that draws on Ruby's dynamic nature. You come to understand the machinery behind DSLs like Rails. See the review.
Polished Ruby Programming
It digs deep into principles and trade-offs for practical code. It widens your options for design decisions. I cover it in the review.
Ruby Code Recipe Collection
A practical, reverse-lookup collection you use by starting from what you want to do. It pays off in day-to-day work. My notes are in the review.
3. On to Rails
Perfect Ruby on Rails
It covers Rails in practice broadly, from the basics to field know-how. It suits anyone who wants the whole picture of the framework. I wrote it up in the review.
Wrap-up
Start with the two primers to build a Ruby foundation, then widen your range with the deeper books. Reach for Rails when you build a web app. Every book has a full review here, so start with whichever one interests you most.