
Learn more
Return this item for free
We offer easy, convenient returns with at least one free return option: no shipping charges. All returns must comply with our returns policy.
Learn more about free returns.- Go to your orders and start the return
- Select your preferred free shipping option
- Drop off and leave!
Other sellers on Amazon
Book details
- ISBN-101934356476
- ISBN-13978-1934356470
- Edition1st
- PublisherPragmatic Bookshelf
- Publication dateMarch 23, 2010
- LanguageEnglish
- Dimensions7.5 x 1 x 9.25 inches
- Print length296 pages
This book describes metaprogramming as an essential component of Ruby. Once you understand the principles of Ruby, including the object model, scopes, and eigenclasses, you're on your way to applying metaprogramming both in your daily work and in your fun, after-hours projects.
Learning metaprogramming doesn't have to be difficult or boring. By taking you on a Monday-through-Friday workweek adventure with a pair of programmers, Paolo Perrotta helps make mastering the art of metaprogramming both straightforward and entertaining.
The book is packed with:
- Pragmatic examples of metaprogramming in action, many of which come straight from popular libraries or frameworks, such as Rails.
- Programming challenges that let you experiment and play with some of the most fun, "out-there" metaprogramming concepts.
- Metaprogramming spells--34 practical recipes and idioms that you can study and apply right now, to write code that is sure to impress.
Whether you're a Ruby apprentice on the path to mastering the language or a Ruby wiz in search of new tips, this book is for you.
About the Author
About the author
Follow authors to get new release updates, plus improved recommendations.Paolo Perrotta speaks and writes about software development. He worked as a developer all around the world, in domains that range from embedded to enterprise software, computer games, and web applications. He is the author of Metaprogramming Ruby, Programming Machine Learning, and the Git courses on Pluralsight. He has a basecamp in Bologna, Italy.
You might also like
-  
-  
-  
-  
-  
-  
-  
Features & details
Features
- This is the paperback edition.
Product information
Publisher | Pragmatic Bookshelf |
Publication date | March 23, 2010 |
Edition | 1st |
Language | English |
Print length | 296 pages |
ISBN-10 | 1934356476 |
ISBN-13 | 978-1934356470 |
Item Weight | 1.35 pounds |
Dimensions | 7.5 x 1 x 9.25 inches |
Best Sellers Rank |
|
---|---|
Customer Reviews | 4.5 out of 5 stars 50Reviews |
What do customers buy after viewing this item?
You might also like
-  
-  
-  
-  
-  
Customers say
Customers find the book's readability positive, with one noting how the author clearly explains meta-programming concepts. Moreover, the content quality receives positive feedback, with customers describing it as very useful, and one mentioning how it drastically increased their understanding of how Rails works.
AI Generated from the text of customer reviews
Select to learn more
Customers find the book highly readable, with one customer noting that the author clearly explains meta-programming and uses mostly good examples.
AI Generated from the text of customer reviews
"...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..." Read more
"...great practical examples of how to use metaprogramming, taking you through basic designs and improving them incrementally with concepts from the text..." Read more
"...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..." Read more
"...but seemingly impractical techniques, and then gives you a great real world example of just how common and practical it really is...." Read more
Customers find the content of the book very useful, with one customer noting how it drastically increased their understanding of how Rails works.
AI Generated from the text of customer reviews
"...Provides a number of helpful and applicable guidelines on how to 'think in Ruby'..." Read more
"...I found this easy to understand and useful from a process standpoint...." Read more
"...There is a ton of good information in this book that can be used for new projects, refactoring, and anything in between...." Read more
"...all aspects of my ruby programming and drastically increased my understanding of how rails works...." Read more
Top reviews from the United States
There was a problem filtering reviews. Please reload the page.
- 5.0 out of 5 starsVerified PurchaseShould really be titled "Thinking in Ruby"Reviewed in the United States on April 8, 2010Format: PaperbackI'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...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
- 5.0 out of 5 starsVerified PurchaseOne of the best Ruby books I've ever readReviewed in the United States on September 12, 2013Format: PaperbackThe book contains great practical examples of how to use metaprogramming, taking you through basic designs and improving them incrementally with concepts from the text. I found this easy to understand and useful from a process standpoint. Like many others, I'd used...The book contains great practical examples of how to use metaprogramming, taking you through basic designs and improving them incrementally with concepts from the text. I found this easy to understand and useful from a process standpoint. Like many others, I'd used Ruby metaprogramming many times before without fully understanding what I was doing. The book filled in many missing details for me. For the first time I felt I understood the Ruby object model. I actually dreamed of the object model after reading the book, seeing all of the parts line up. In contrast to some other reviewers, I like how the book weaves a story about two fictional coworkers as it explicates metaprogramming concepts. The light-hearted side story made it super readable for me since I enjoy narrative. The storyline kept me interested and made the text less dry. In conclusion, this is an excellent book that I will return to again and again. I highly recommend it to anyone who wants to put the pieces together of Ruby Metaprogramming.
- 5.0 out of 5 starsVerified PurchaseBest Book I've Read on RubyReviewed in the United States on October 10, 2013This book gets to the heart of what makes Ruby such an amazing language. It is also a great example of why reading an in-depth discussion on a topic in (e)book form can be far more valuable than spending the same amount of time researching the topic online. The...This book gets to the heart of what makes Ruby such an amazing language. It is also a great example of why reading an in-depth discussion on a topic in (e)book form can be far more valuable than spending the same amount of time researching the topic online.
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.
- 5.0 out of 5 starsVerified PurchaseI Love This Book!Reviewed in the United States on April 24, 2011Format: PaperbackI've been using Ruby for about 3 years now and thought I had a good understanding of the language and its capabilities. Wow, was I wrong! This book was like a grenade going off in my head that rearranged my perception of Ruby programming reality. There is a ton of good...I've been using Ruby for about 3 years now and thought I had a good understanding of the language and its capabilities. Wow, was I wrong! This book was like a grenade going off in my head that rearranged my perception of Ruby programming reality. There is a ton of good information in this book that can be used for new projects, refactoring, and anything in between.
A great thing about this book is that it presents these cool but seemingly impractical techniques, and then gives you a great real world example of just how common and practical it really is. Another thing I wasn't expecting is the humor. I laughed out loud reading some sections of the book.
I'm not sure that I'd recommend this for the new Rubyist, but if you have a decent foundation, this book will take you to the next level.
- 5.0 out of 5 starsVerified PurchaseI learned more about ruby from this book than any otherReviewed in the United States on January 7, 2014Format: PaperbackI didn't expect to enjoy this book as much as I did. I am an experienced software developer who has only recently started working on ruby and rails projects. I thought meta-programming was interesting but that I was not experienced enough with the language yet to...I didn't expect to enjoy this book as much as I did. I am an experienced software developer who has only recently started working on ruby and rails projects. I thought meta-programming was interesting but that I was not experienced enough with the language yet to benefit from reading much about it. It turns out that learning the techniques in this book has taught me so much about the ruby object model and how the language works that it has benefited all aspects of my ruby programming and drastically increased my understanding of how rails works. I cannot recommend it highly enough for that reason alone. I cannot however attest to its usefulness to people who want to use it as a foundation for doing serious ruby meta-programming themselves.
- 3.0 out of 5 starsVerified PurchaseVERY Obnoxious to read, but good content!Reviewed in the United States on February 18, 2011Format: PaperbackIf you want to learn in detail how Metaprogramming Ruby works, by all means: buy this book, it is very useful! The content of the book is excellent! The techniques described are very useful, and the author uses mostly good examples to illustrate the use of the...If you want to learn in detail how Metaprogramming Ruby works, by all means: buy this book, it is very useful!
The content of the book is excellent! The techniques described are very useful, and the author uses mostly good examples to illustrate the use of the different recipes. As a side-note, I also recommend the screencast series by PragProg.com about Metaprogramming Ruby. The book has three chapters which cover how Metaprogramming is used in the Rails framework, which is also very useful.
So far, so good, BUT......
The downside of this book is the writing style -- I'm quoting from orangekay's review here on Amazon:
[...] it's written in a really annoying tone that attempts to present said information as a story.
That story is very boring, gets old after the first paragraph, and makes it very difficult to find
the code you want amidst the sea of useless prose.
I can only second that statement! It is extremely annoying to read this book because of the stupid side-story, and it is very hard to find the relevant concepts later. The names of the concepts/recipes discussed in the book are mostly badly chosen, which is both annoying and confusing later.
I'm wondering why this style was chosen.. to add pages? It's so annoying that I feel tempted to take a big fat black marker and x-out all this junk from the silly side-story. If I had this in an editable electronic form, I would re-format the content!
I wish the author would take these comments to heart, and in the next version of the book, would follow a standard format, e.g. a "Cook-Book" approach, to discuss the techniques described in this book -- without a side-story!
If you want to learn in detail how Metaprogramming Ruby works, by all means: buy this book, it is very useful!
I would give this book 4 stars, but because of the obnoxious writing style I rate it as 3 stars.
- 5.0 out of 5 starsVerified Purchasei would give it 6 stars....Reviewed in the United States on December 5, 2010Format: Paperbackevery now an then you you come across a book and you know, this one i will read many times over in the future .... Meta-programming is one of those, its beautiful written, whit-full, smart and still as concise as the topic it speaks about. it may not be the...every now an then you you come across a book and you know, this one i will read many times over in the future ....
Meta-programming is one of those, its beautiful written, whit-full, smart and still as concise as the topic it speaks about.
it may not be the "Ruby" book, nor the library on Meta-programming techniques. i think its best used as a book about
style and programming technique. as in inspiration to learn new tools, understand how those "spill's" work in Ruby
and most important as an inspiration to write cleaner, more esthetic code
- 5.0 out of 5 starsVerified PurchaseGuts of Ruby RevealedReviewed in the United States on October 6, 2013This book is remarkable. It goes deep into Ruby internals. The way it explains the Ruby Object Model is truly revealing. My understanding of Metaprogramming was solidified only after reading this book. I highly recommend it not only for Metaprogramming in Ruby, but also...This book is remarkable. It goes deep into Ruby internals. The way it explains the Ruby Object Model is truly revealing. My understanding of Metaprogramming was solidified only after reading this book. I highly recommend it not only for Metaprogramming in Ruby, but also to get deep insight into how Ruby works - The Ruby Object Model, Ruby's Openness and Flexibility. Before attempting DSL in Ruby, read this book to get full command and mastery !
Top reviews from other countries
- Translate all reviews to Englishalex5.0 out of 5 starsVerified PurchaseImprescindible si programas en RubyReviewed in Spain on June 24, 2014Libro imprescindible si programas en Ruby. Lo mejor es que su lectura se hace bastante entretenida, cosa rara en libros técnicos. Un 10.Libro imprescindible si programas en Ruby. Lo mejor es que su lectura se hace bastante entretenida, cosa rara en libros técnicos. Un 10.
- Chris5.0 out of 5 starsVerified PurchaseWer dieses Buch liest, versteht, wie Ruby wirklich funktioniert.Reviewed in Germany on July 7, 2013Das Buch erklärt zwar - wie der Titel sagt - viele Tricks aus der Metaprogramming-Zauberkiste. Das wirklich wertvolle an diesem Buch finde ich jedoch, dass es die beste und gründlichste Erklärung des Ruby Objekt-Modells enthält, die ich bisher gefunden habe. Diese Buch hat...Das Buch erklärt zwar - wie der Titel sagt - viele Tricks aus der Metaprogramming-Zauberkiste. Das wirklich wertvolle an diesem Buch finde ich jedoch, dass es die beste und gründlichste Erklärung des Ruby Objekt-Modells enthält, die ich bisher gefunden habe. Diese Buch hat mir enorm geholfen, alle Ruby-spezifischen Konzepte wie Singleton Classes, Scopes, Klassenobjekte, method_missing, method lookup, include/extend, ancestor chain, class_eval/instance_eval etc wirklich zu verstehen und sicher anwenden zu können. Im hinteren Teil gibts es dazu eine handliche Referenz, die typische Idiome und Patterns erklärt (der Autor nennt sie "Spells"), die man in Ruby-Code häufig antrifft und die die eigene Arbeit erleichtern. Wer Ruby wirklich verstehen will, sollte dieses Buch unbedingt anschauen und sich nicht vom Titel abschrecken lassen.Das Buch erklärt zwar - wie der Titel sagt - viele Tricks aus der Metaprogramming-Zauberkiste. Das wirklich wertvolle an diesem Buch finde ich jedoch, dass es die beste und gründlichste Erklärung des Ruby Objekt-Modells enthält, die ich bisher gefunden habe.
Diese Buch hat mir enorm geholfen, alle Ruby-spezifischen Konzepte wie Singleton Classes, Scopes, Klassenobjekte, method_missing, method lookup, include/extend, ancestor chain, class_eval/instance_eval etc wirklich zu verstehen und sicher anwenden zu können.
Im hinteren Teil gibts es dazu eine handliche Referenz, die typische Idiome und Patterns erklärt (der Autor nennt sie "Spells"), die man in Ruby-Code häufig antrifft und die die eigene Arbeit erleichtern.
Wer Ruby wirklich verstehen will, sollte dieses Buch unbedingt anschauen und sich nicht vom Titel abschrecken lassen.
- Ivo Jesus5.0 out of 5 starsVerified PurchaseMind-bending!Reviewed in the United Kingdom on October 7, 2013This is a mind bending book. I already had o little crush on Ruby but after this book, I'm completely in love! The book is clear, it has a funny way of introducing things and the whole "lets tell a story about this" kind of approach just makes it seem like...This is a mind bending book. I already had o little crush on Ruby but after this book, I'm completely in love! The book is clear, it has a funny way of introducing things and the whole "lets tell a story about this" kind of approach just makes it seem like I'm not reading a technical book but a story book. This book helped me understand how many ruby gems do things, especially ActiveRecord, and helped me be a better programmer. Now I'm so much into the metaprogramming concept that any language that doesn't support it, I'm not interested!This is a mind bending book. I already had o little crush on Ruby but after this book, I'm completely in love!
The book is clear, it has a funny way of introducing things and the whole "lets tell a story about this" kind of approach just makes it seem like I'm not reading a technical book but a story book.
This book helped me understand how many ruby gems do things, especially ActiveRecord, and helped me be a better programmer.
Now I'm so much into the metaprogramming concept that any language that doesn't support it, I'm not interested!
- dgt795.0 out of 5 starsVerified PurchaseA very good book on RubyReviewed in the United Kingdom on September 8, 2010This is the best Ruby book I came across as it explains the concepts behind Ruby in a very easy to understand way. Besides, the book is written in a very similar style to Head First - Design Patterns, which is funny and easy to follow. I was also pleased to see that...This is the best Ruby book I came across as it explains the concepts behind Ruby in a very easy to understand way. Besides, the book is written in a very similar style to Head First - Design Patterns, which is funny and easy to follow. I was also pleased to see that it's up to date with Ruby 1.9.This is the best Ruby book I came across as it explains the concepts behind Ruby in a very easy to understand way. Besides, the book is written in a very similar style to Head First - Design Patterns, which is funny and easy to follow. I was also pleased to see that it's up to date with Ruby 1.9.
- N.Piaschinski5.0 out of 5 starsVerified PurchaseEinführung in "Metaprogramming Ruby" gelungenReviewed in Germany on June 1, 2014Nachdem ich ein deutsches Handbuch in Einführung Ruby und Rails gelesen hatte, waren für mich noch zu viele Fragen offen. Schließlich möchte (muss) man ja verstehen, wie die Methoden, Klassen und Objekte in Ruby miteinander funktionieren. Das Kindle-Buch...Nachdem ich ein deutsches Handbuch in Einführung Ruby und Rails gelesen hatte, waren für mich noch zu viele Fragen offen. Schließlich möchte (muss) man ja verstehen, wie die Methoden, Klassen und Objekte in Ruby miteinander funktionieren. Das Kindle-Buch "Metaprogramming Ruby" hat für mich diese große Lücke geschlossen. Auch wenn man in der englischen Sprache nicht ganz zu Hause ist, ist dieses Buch - umrahmt von einer kleinen Alltagsgeschichte aus dem Büro (Workshop) - sehr gut zu lesen. Im Rahmen eines Workshops in Form von Aufgaben werden hier die verschiedensten Methoden/Klassen/Objekte und die Funktionsweise innerhalb von Ruby dargestellt. Auf jeden Fall macht es Lust auf mehr... Also von meiner Seite eine klare Kaufempfehlung!Nachdem ich ein deutsches Handbuch in Einführung Ruby und Rails gelesen hatte, waren für mich noch zu viele Fragen offen. Schließlich möchte (muss) man ja verstehen, wie die Methoden, Klassen und Objekte in Ruby miteinander funktionieren.
Das Kindle-Buch "Metaprogramming Ruby" hat für mich diese große Lücke geschlossen. Auch wenn man in der englischen Sprache nicht ganz zu Hause ist, ist dieses Buch - umrahmt von einer kleinen Alltagsgeschichte aus dem Büro (Workshop) - sehr gut zu lesen.
Im Rahmen eines Workshops in Form von Aufgaben werden hier die verschiedensten Methoden/Klassen/Objekte und die Funktionsweise innerhalb von Ruby dargestellt.
Auf jeden Fall macht es Lust auf mehr... Also von meiner Seite eine klare Kaufempfehlung!
How customer reviews and ratings work
Customer Reviews, including Product Star Ratings help customers to learn more about the product and decide whether it is the right product for them.Learn more how customers reviews work on Amazon