• List Price: CDN$ 42.73
  • You Save: CDN$ 4.56 (11%)
Only 1 left in stock.
Ships from and sold by Amazon.ca. Gift-wrap available.
Metaprogramming Ruby: Pro... has been added to your Cart
+ CDN$ 6.49 shipping
Used: Acceptable | Details
Sold by wobcanada
Condition: Used: Acceptable
Comment: A readable copy of the book which may include some defects such as highlighting and notes. Cover and pages may be creased and show discolouration.
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

Metaprogramming Ruby: Program Like the Ruby Pros Paperback – Feb 25 2010

See all 2 formats and editions Hide other formats and editions
Amazon Price
New from Used from
"Please retry"
CDN$ 38.17
CDN$ 38.17 CDN$ 5.13

There is a newer edition of this item:

Harry Potter and the Cursed Child
click to open popover

No Kindle device required. Download one of the Free Kindle apps to start reading Kindle books on your smartphone, tablet, and computer.
Getting the download link through email is temporarily not available. Please check back later.

  • Apple
  • Android
  • Windows Phone
  • Android

To get the free app, enter your mobile phone number.

Product Details

  • Paperback: 296 pages
  • Publisher: Pragmatic Bookshelf; 1 edition (Feb. 25 2010)
  • Language: English
  • ISBN-10: 1934356476
  • ISBN-13: 978-1934356470
  • Product Dimensions: 19 x 2.5 x 23.5 cm
  • Shipping Weight: 522 g
  • Average Customer Review: Be the first to review this item
  • Amazon Bestsellers Rank: #450,290 in Books (See Top 100 in Books)
  •  Would you like to update product info, give feedback on images, or tell us about a lower price?

Product Description


""If you program in Ruby, buy this book. Twice. Ruby isn't magic anymore, just great.""--Joe Alba""In Ruby, the practitioners of metaprogramming have found a language where they are only constrained by their imagination. To reach mastery is hard, and even harder is to apply it tastefully. This book gives a grounding in the fundamentals of metaprogramming Ruby in such a way that anyone can pick it up and then immediately start using it. Paolo brings out the core of how simple metaprogramming can be in this book, and that is no easy task.""--Ola Bini, ThoughtWorks

About the Author

Paolo Perrotta has more than ten years of experience as a developer and writer. He worked for domains ranging from embedded to enterprise software, computer games, and web applications. These days, Paolo coaches agile teams for Yoox, a large Internet fashion shop, and teaches Java to developers throughout Europe. He lives in Bologna, Italy, with his girlfriend and a cat. He loves Ruby.

Customer Reviews

There are no customer reviews yet on Amazon.ca
5 star
4 star
3 star
2 star
1 star

Most Helpful Customer Reviews on Amazon.com (beta)

Amazon.com: HASH(0x9ddf07ec) out of 5 stars 38 reviews
53 of 54 people found the following review helpful
HASH(0x9de062b8) out of 5 stars Should really be titled "Thinking in Ruby" April 8 2010
By Peter M. Goldstein - Published on Amazon.com
Format: Paperback Verified Purchase
I've read quite a few Ruby books and this is one of the best. The author very effectively does a number of things in this book:

i) Highlights the conceptual differences between Ruby and other currently popular languages

ii) Shows how those conceptual differences are expressed in programming constructs by walking the reader through a number of small but realistic example problems

iii) Reviews internal details of a number of pieces of real-world software (most notably Rails) to show how the authors of these packages use the techniques he describes to solve their problems

iv) Provides a number of helpful and applicable guidelines on how to 'think in Ruby'

v) Generates a GoF style catalog of implementation patterns

vi) Skewers the notion that 'metaprogramming' is any different than regular programming

After finishing this book I have a real appreciation of the techniques the author describes, and how they can be used to write flexible, powerful, and maintainable software. Before reading this book I was aware of a number of these techniques, but I didn't necessarily understand how they could be effectively used to solve real problems. Now I do. The book truly covers how to think in Ruby - how to naturally solve problems in Ruby, as opposed to adapting techniques commonly used in languages from the C/C++/Java lineage.

The one major criticism I had of Metaprogramming Ruby was the 'fanboy' tone that permeates a lot of the text. Frequently the author seems more interested in getting you to agree with him that Ruby is great than in conveying the concepts being discussed. There are a lot of gratuitous slams of other languages (especially Java) that were frankly unnecessary and distracted from the book. Had the tone of those comparisons been a little more highbrow and a little less schoolyard, this would have been a better book.

Overall rating: 4.5 stars
23 of 24 people found the following review helpful
HASH(0x9de06504) out of 5 stars I have a love-hate relationship with this book. Dec 18 2011
By Amazon Customer - Published on Amazon.com
Format: Paperback
Metaprogramming Ruby puts non-obvious and non-trivial content together into a coherent whole.

The technical content of this book is very, very good. The book explains much of the basic structure of ruby (object model, class definitions, blocks, method lookup, etc) in such a way that common idioms that I have previously used without understanding their underlying mechanisms now make complete sense, and my understanding and command of some of the more powerful features of ruby have greatly improved.

Real-world code examples drawn mostly from ruby gems are included, and these are excellent illustrations of ideas presented.

As with many technical books, many of the non-real-world code examples are extremely simple and contrived. For the most part, this is acceptable, but there are instances where the tests/sample output provided for exercises were incomplete -- in the sense that you can come up with a flawed and incomplete piece of code which will still make the test pass.

The thing about this book that drove me up the wall is the insipid story line: You have started a new job, and you have an incredibly chirpy and annoying coworker with whom you must pair program, and who lectures you about the ruby object model, etc. The dialogues are awful; Bill The Asinine Coworker "exclaims" and "shouts" much like characters in bad romance novels supposedly do. The text is littered with irrelevant and distracting details about sipping coffee and grabbing keyboards and ignoring whiteboards in favor of napkins.

This is possibly the best exposition of the ruby object model available, however, so if you are frustrated by the piecemeal information available on the web and you don't have a chirpy co-worker by the name of Bill to mentor you, I would highly recommend reading this book.
29 of 32 people found the following review helpful
HASH(0x9de06744) out of 5 stars Short and sweet March 3 2010
By Matt Darby - Published on Amazon.com
Format: Paperback
I have a BS and MS in Computer Science, and worked with Ruby professionally for two years. I've read every major Ruby book on the market. This book brought me to the next level. If you dig Ruby or Rails and are a programmer looking for the next step, this is it.
14 of 14 people found the following review helpful
HASH(0x9de069c0) out of 5 stars Essential to Appreciate Ruby's Power April 8 2010
A Kid's Review - Published on Amazon.com
Format: Paperback
I have been programming in Ruby for almost two years, and I have done some Ruby on Rails. With this book I finally begin to understand what Ruby was doing for me all along -- especially when it's running on Rails. Ruby was easy to use like I've used many other languages, but now I understand how unique and powerful Ruby really is. And I'm sure that I will begin to take advantage of that extra power.

Also: the book is well written and organized. I especially like that whenever a particular topic is mentioned a page reference also appears. This makes it easy to do a quick review of the topic before going further, like "Hook Methods (181)."

This book will not sit idly on my shelf. I'll be going back to it again and again for review and further mastery of the topics.
17 of 20 people found the following review helpful
HASH(0x9de069cc) out of 5 stars Fascinating adventure into the world of Ruby, Friendship, and Tragedy April 5 2011
By jgoggles - Published on Amazon.com
Format: Paperback
This book offers an amazing look into the beauty and power of Ruby. It has made me a better Rubyist. It is accessible and entertaining. Not only is the use of a second-person narrative throughout astonishingly well executed, but the character development is pristine as well, Bill's in particular. In the course of one week we see Bill evolve from strange, overbearing know-it-all coworker to mentor, friend, and even intrigued learner. But that's when things get interesting and take quite a turn in the story. I don't want to give anything major away but Bill sleeps with your wife at the end.