Eloquent Ruby (Addison-Wesley Professional Ruby Series) and over one million other books are available for Amazon Kindle. Learn more
CDN$ 49.39
  • List Price: CDN$ 51.99
  • You Save: CDN$ 2.60 (5%)
In Stock.
Ships from and sold by Amazon.ca.
Gift-wrap available.
Eloquent Ruby has been added to your Cart
Have one to sell?
Flip to back Flip to front
Listen Playing... Paused   You're listening to a sample of the Audible audio edition.
Learn more
See all 2 images

Eloquent Ruby Paperback – Feb 11 2011

See all 2 formats and editions Hide other formats and editions
Amazon Price New from Used from
Kindle Edition
"Please retry"
"Please retry"
CDN$ 49.39
CDN$ 34.30 CDN$ 31.54

Frequently Bought Together

Eloquent Ruby + Practical Object-Oriented Design in Ruby: An Agile Primer + The Rails 4 Way (3rd Edition)
Price For All Three: CDN$ 114.73

Buy the selected items together

Product Details

  • Paperback: 448 pages
  • Publisher: Addison-Wesley Professional; 1 edition (Feb. 11 2011)
  • Language: English
  • ISBN-10: 0321584104
  • ISBN-13: 978-0321584106
  • Product Dimensions: 17.8 x 2.4 x 23.1 cm
  • Shipping Weight: 699 g
  • Average Customer Review: 4.5 out of 5 stars  See all reviews (2 customer reviews)
  • Amazon Bestsellers Rank: #105,995 in Books (See Top 100 in Books)
  • See Complete Table of Contents

Product Description


"R>Eloquent Ruby is like programming in Ruby itself: fun, surprisingly deep, and you'll find yourself wishing it was always done this way. Wherever you are in your Ruby experience from novice to Rails developer, this book is a must read."

--Ethan Roberts

Owner, Monkey Mind LLC


"Eloquent Ruby lives up to its name. It's a smooth introduction to Ruby that's both well organized and enjoyable to read, as it covers all the essential topics in the right order. This is the book I wish I'd learned Ruby from."

--James Kebinger

Senior Software Engineer, PatientsLikeMe



"Ruby's syntactic and logical aesthetics represent the pinnacle for elegance and beauty in the ALGOL family of programming languages. Eloquent Ruby is the perfect book to highlight this masterful language and Russ's blend of wit and wisdom is certain to entertain and inform."

--Michael Fogus

Contributor to the Clojure programming language and author of The Joy of Clojure

About the Author

Russ Olsen’s career spans three decades, during which he has written everything from graphics device drivers to document management applications. These days, he diligently codes GIS, web service security, and process automation solutions. He spends much of his otherwise free time writing and speaking about programming, especially Ruby and Clojure. His first book was the highly regarded Design Patterns In Ruby (Addison-Wesley, 2007). He is also the lurking presence behind the Technology As If People Mattered blog at www.russolsen.com.

Inside This Book (Learn More)
Browse Sample Pages
Front Cover | Copyright | Table of Contents | Excerpt | Index
Search inside this book:

What Other Items Do Customers Buy After Viewing This Item?

Customer Reviews

4.5 out of 5 stars
5 star
4 star
3 star
2 star
1 star
See both customer reviews
Share your thoughts with other customers

Most helpful customer reviews

1 of 1 people found the following review helpful By François Beausoleil on March 26 2011
Format: Paperback
I have been breathing and reading Ruby for the past 6 years. This book was too low-level for me.

On the other hand, if you're just starting out, or have some amount of experience, I think this book would be a great addition to your library.
Was this review helpful to you? Yes No Sending feedback...
Thank you for your feedback. If this review is inappropriate, please let us know.
Sorry, we failed to record your vote. Please try again.
Format: Paperback Verified Purchase
Loving the book, I'm at chapter 5 and feel like I'm learning a lot. For people who have been doing Code School classes and used other resources on the web I feel like this is a great book to tweak your Ruby knowledge. It's also very easy to follow.
Was this review helpful to you? Yes No Sending feedback...
Thank you for your feedback. If this review is inappropriate, please let us know.
Sorry, we failed to record your vote. Please try again.

Most Helpful Customer Reviews on Amazon.com (beta)

Amazon.com: 53 reviews
60 of 63 people found the following review helpful
The first Ruby book I read in full within 24 hours Feb. 26 2011
By Peter Cooper - Published on Amazon.com
Format: Paperback
This book is so easy to read yet so useful and informative that I read it in its entirety within 24 hours (across 2 distinct days admittedly ;-)).

Eloquent Ruby is a book published by Addison Wesley and written by Russ Olsen (who also wrote Design Patterns in Ruby a few years ago). It clocks in at around 400 pages and has 31 chapters clocking in at around a punchy 10 pages each. Each chapter is titled as a guideline you should follow to write "eloquent" Ruby - things like Create Classes That Understand Equality and Write Code That Looks Like Ruby - and typically the claim is explained, some code examples shown and discussed, some real world examples pointed to, and that's it. As with Design Patterns in Ruby, Russ adopts a chatty, familiar tone. Reading this book is like reading a book specifically written for you by a friend. He doesn't shoot off on many unnecessary tangents and he keeps the stories short and sweet but this book certainly couldn't be called dry.

The book is also notably short of egregious errors or omissions. Even when I don't read something with a fine-toothed comb on standby, I can usually pick out a laundry list of factual and grammatical errors or omissions (as both Obie Fernandez and my wife will attest) but Eloquent Ruby gave me little to chew on. I can only bring to mind a few spacing and formatting issues and only one true "error": a > instead of a < in a class definition on a single example.

Russ tries to remain neutral with his choice of Ruby implementations but the book seems to focus primarily on Ruby 1.9 (Ruby 1.9.1 specifically but that's just due to when he wrote it) while providing useful footnotes in the cases where there are differences to Ruby 1.8. No matter what Ruby implementation you're using, there's little to confuse you as most of it is very non-implementation and non-version specific.

I wholeheartedly recommend this book to anyone except those who, well, could have written a similar book themselves. The short punchy chapters make it a delight to read and gives the option of reading it merely 10 minutes at a time before bed or similar. The short chapters also make it useful as a reference if you forget how to do a certain thing like, say, use method_missing, even though it's not put together as a reference book at all. Lastly, this book is a must read if you're not confident with Ruby idioms and the best way to structure and lay out your code - Russ's approaches reinforce the current "standard" way to write Ruby and this alone is worth the price of admission.
43 of 44 people found the following review helpful
Eloquent Olsen March 7 2011
By Fogus - Published on Amazon.com
Format: Paperback
For better or worse the vast majority of my work life journey has been travelled with Java as my vehicle of expression. However, by nature I have a burning desire to learn new languages and at one point or another I discovered Russ Olsen's (also the author of Eloquent Ruby) "Design Patterns in Ruby". Having at one time counted myself as a true-believer in everything pattern-esque, I was excited for the opportunity to learn Ruby under the aegis of The Gang of Four. However, what I found was something else entirely. I absolutely loved "Design Patterns in Ruby" for reasons that I was not expecting. That is, what I found was an extremely interesting book that was playful and as a nice side-effect *actually taught me how Ruby's powerful features make many design patterns unnecessary*.

Olsen, with his latest effort has mastered the art of writing a book that is extremely interesting, fun, and informative. As an author myself, I greatly admire the ability in other authors to take what many would consider dry and bland, a programming language book, and create something that is truly special. Let me not give the impression that "Eloquent Ruby" is filled with fluff however; on the contrary, of any Ruby book that I've read I have learn the most from Mr. Olsen's masterpiece.

"Eloquent Ruby" is written for the programmer like me: someone with previous programming experience, but with only a passing understanding of Ruby itself. The structure of the book will help guide the Ruby neophyte toward a stronger understanding of not only the language constructs and idioms, but also the Ruby culture. As an outsider to said culture, I've always viewed the Ruby community as merely a collection of characters, but Olsen's book helps to illustrate that (almost universally) Ruby practitioners first and foremost strive to create correct and robust solutions. As a proponent of the Lisp family of languages, I tend to look askance at languages falling into the ALGOL family, but "Eloquent Ruby" has succeeded in convincing me that with the right approach and mindset then Ruby can be a stunningly beautiful language. And this is really the key point to take away from Mr. Olsen's book. That is, he guides the reader through the Ruby mindset to drive home the point that Ruby's features -- from its powerful and fluent blocks and modules, to the mind-bending metaprogramming facilities, to its to its humble symbol, and through its philosophy of "Objects all the way down" -- play together in such a way as to foster ... well, elegance.

The highlight of the book is of course its dénouement that succeeds in pulling together all of the lessons presented throughout the book into explaining the role that Domain-Specific Languages (DSL) serve in solving programming problems with Ruby. I can't possibly do justice in summarizing this important technique, but the punch-line is that Ruby's features foster the creation of powerful and expressive DSLs used to simplify the development of complex solutions by allowing the language itself to be molded into a form that is highly expressive to said solution! It takes a while to see the power in this technique, but "Eloquent Ruby" makes a compelling case indeed.

Russ Olsen has helped me to gain more experience points in Ruby, and I must say that I am excited to learn more. If you too wish to learn more about Ruby, then you would be hard-pressed to find a better book than "Eloquent Ruby" in helping you to do so.
25 of 25 people found the following review helpful
A Great Book for Rubyist at All Skill Levels March 5 2011
By Justin Spradlin - Published on Amazon.com
Format: Paperback
I can't even begin to imagine how difficult it would be to write a book covering such an in-depth topic as the Ruby Programming language. Add to that a target audience with a widely diverse range of skills and the tasks seems to be out right impossible. Fortunately for us mere mortals Russ Olsen has taken on this challenge and surpassed my high expectations in his second book, Eloquent Ruby.

The first part of the book is for the Ruby newbies, but takes an interesting deviation from most programming books. Instead of focusing simply on the syntax and language libraries, Eloquent Ruby focuses on the community aspect of the Ruby programming language. Each programming community has its own style and norms and without a lot of direction and practice, these style and norms can be difficult to learn. The Ruby community is heavily opinionated and Russ's book does a great job of explaining these opinions and their manifestation in many Ruby codebases.

In Part Two of Eloquent Ruby, Olsen dives into the core concepts and building blocks of the Ruby programming language. This section of the book covers the everyday usage patterns and common best practices when working with Ruby's classes, iterators, blocks, and modules.

The power and flexibility of Ruby is put on full display in Part Three of Russ's book. Newcomers to Ruby are often mystified by Ruby code that appears to be doing magical things like dynamically adding methods to a class. In this section, Russ pulls back the curtain and explains the magic that is metaprogramming. Those unfamiliar with the concept may find the topic confusing at first, but Olsen breaks it down in a way that is easy to understand. This section thoroughly covers Ruby's method_missing hook and how to open classes to add your own customizations.

In the last section Russ ties a lot of the concepts of the book together through a discussion on how Ruby can be used to create Domain Specific Languages (DSLs). As a bonus Russ finishes the book with a chapter on how to package your code into a gem (Ruby library) and a chapter on the different Ruby Implementations.

At almost 400 pages I feared Eloquent Ruby would take a while to read, but I was pleasantly surprised at the pace at which I made it through the book. Even though the book was a quick read it still felt as if I had gained a lot of new knowledge after its completion. I credit the speed reading and depth of understanding to Olsen's writing style. The book is broken up into 30 concise chapters that each focus on a specific topic. This makes the book's information very easy to digest.

Following a similar pattern from his first book, Design Patterns in Ruby, each chapter of Eloquent Ruby describes code examples "In the Wild" where Olsen discusses code snippets from open source projects using the topics covered within that chapter. In my opinion giving "real world" code examples was a great way to prove the relevance of the information covered in the book. Overall, Eloquent Ruby was a great read and I'd highly recommend it to Rubyist at all skill levels.
7 of 7 people found the following review helpful
An Eloquent Gem April 23 2011
By David - Published on Amazon.com
Format: Paperback
I bought Russ Olsen's "Eloquent Ruby" (the ebook version) sight-unseen, based solely on a Twitter recommendation by Ruby author/maven Peter Cooper. I'm glad I did. "Eloquent Ruby" is the textual equivalent of comfort food to me; the basic flavor is quite familiar, but with this book I've found my favorite recipe. Also, it has occasional nuggets of unexpected awesome baked in that make me want to come back for seconds and beyond. Part cookbook, part HOWTO (and, importantly, HOWNOTTO), and part pattern book (in a good way), "Eloquent Ruby"'s style is *not* any of the preceding. In fact, it is like no other book on the Ruby language that I've read, and I've read lots. In many ways it's a worthy complement to "The Pickaxe" book (Dave Thomas's "Programming Ruby", from the Pragmatic Programmers). Where the Pickaxe tells you exhaustively what Ruby *can* do, "Eloquent Ruby" tells you what you *should* use Ruby to do, and how you should do it. If you like the O'Reilly "[technology-name-here]: The Good Parts" book series, I'm betting you'll like this book, whatever your level experience as a Ruby programmer. Don't miss any of the footnotes, which are by themselves entertaining enough to justify purchasing the book. And if you find another tech book that appropriately and un-forcedly uses (and correctly spells) the word "legerdemain", please let me know what it is. 'Cause I want to read that one too.
11 of 12 people found the following review helpful
do NOT buy it for Kindle April 30 2014
By Pawel Biel - Published on Amazon.com
Format: Kindle Edition
The book is very interesting but all code examples are as images rather than text and with extreamly small font. It's almost imposible to read it. It can be zoom in but than looks awfuland it's annoying to do that every second page.