- Paperback: 296 pages
- Publisher: Pragmatic Bookshelf; 1 edition (February 22, 2010)
- Language: English
- ISBN-10: 1934356476
- ISBN-13: 978-1934356470
- Product Dimensions: 7.5 x 1 x 9.2 inches
- Shipping Weight: 1.2 pounds (View shipping rates and policies)
- Average Customer Review: 37 customer reviews
- Amazon Best Sellers Rank: #815,254 in Books (See Top 100 in Books)
Enter your mobile number or email address below and we'll send you a link to download the free Kindle App. Then you can start reading Kindle books on your smartphone, tablet, or computer - no Kindle device required.
To get the free app, enter your mobile phone number.
Metaprogramming Ruby: Program Like the Ruby Pros 1st Edition
Use the Amazon App to scan ISBNs and compare prices.
There is a newer edition of this item:
The Amazon Book Review
Author interviews, book reviews, editors picks, and more. Read it now
Frequently bought together
Customers who bought this item also bought
"If you program in Ruby, buy this book. Twice. Ruby isn’t magic anymore, just great."
"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."
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.
Top customer reviews
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
The author starts by letting you know the ever-important "whys" around the language's origin & design; many of which I didn't know despite programming in Ruby for many years. Building on these basics, the author presents a coherent view of how to use the unique features of the language to become much more effective at software development. He extends this with example after example of how the world's best have done exactly that in Ruby's popular frameworks & gems -- including the core components of Ruby on Rails and ActiveRecord.
A few reviews I saw before reading the book mentioned the story-based narrative was distracting. While I can completely see this point of view, and the author is a developer not a novelist for sure, the story did serve as a solid tool to connect the various topics.
Highly, highly recommended.
The content is, as most other reviewers have said, good.