| From: |
| Mary Rotman <pragprogpr-AT-oreilly.com> |
| To: |
| lwn-AT-lwn.net |
| Subject: |
| Metaprogramming Ruby--New from Pragmatic Bookshelf |
| Date: |
| Wed, 10 Feb 2010 11:02:20 -0800 |
| Message-ID: |
| <1265828540.5140.0.519457@post.oreilly.com> |
If you would like to view this information in your browser, click here:
http://post.oreilly.com/rd/9z1z7guht8arqt5t0t6qdg86gkgo8m...
***For Immediate Release***
CONTACT:
Mary Rotman
(707) 827-7119
pragprogpr@oreilly.com
O'Reilly Media is a Distributor for Pragmatic Bookshelf
Metaprogramming Ruby--New from Pragmatic Bookshelf
Program Like the Ruby Pros
Raleigh, NC--Ruby is magical: it can manipulate itself at runtime. Few languages can do this. Ruby
supports code that writes code (metaprogramming) in a more dynamic way than you can do using code
generators or compilers. With Ruby, runtime isn't set in concrete like an aging building. Instead,
it's more like a busy, thriving marketplace. Bits of code can walk up to other bits and ask them
questions about themselves, and work out what to do next. These techniques make it far easier to
extend and adapt existing programs as they're running.
The problem is that metaprogramming techniques have been out of reach for common Rubyists--let
alone for newbie Rubyites. But according to author and developer Paolo Perrotta, the flexibility
and elegance of metaprogramming "isn't an obscure art reserved for Ruby gurus." In his new book,
Metaprogramming Ruby: Program Like the Ruby Pros (Pragmatic Bookshelf, $32.95), Perrotta clearly
describes 34 "spellsâ" or language patterns that make metaprogramming understandable to Rubyists at
all levels.
The book, Metaprogramming Ruby, uses stories and case studies to teach the techniques. Part 1,
Metaprogramming Ruby, follows a new programmer as he learns the five core concepts: the object
model, methods, blocks, class definitions, and code that writes code. Part 2, Metaprogramming in
Rails, is presented as a case study. Readers closely examine source code in Rails--the flagship
Ruby framework--and see how the masters actually use metaprogramming to develop real-world
software.
Fun but provocative quizzes encourage readers to dig in--or to run off and think about the
concepts. Three appendices expand the book, gathering useful idioms, resources on domain-specific
languages, and a summary of the book's magic spells for metaprogramming.
To Perrotta, there's no reason for Ruby programmers to be intimidated by metaprogramming or to
consider it a "bolt-on power feature." He writes, "If you want to take the path to advanced Ruby
coding, you'll find metaprogramming at every step. Even if you're happy with the amount of Ruby you
already know and use, you're still likely to stumble on metaprogramming in your coding travels: in
the source of popular frameworks, in your favorite library, and even in small examples from random
blogs. Until you master metaprogramming, you won't be able to tap into the full power of the Ruby
language."
With Metaprogramming Ruby, new and experienced Rubyists can follow a practitioner's journey to
learn metaprogramming and then dive into examples of live code written by Ruby masters. Like the
best teachers, Perrotta strips away what's mysterious or intimidating about his subject--and
delivers the magic.
Advance Praise
"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
For a review copy or more information please email maryr@oreilly.com. Please include your delivery
address and contact information.
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.
Additional Resources:
For more information about the book, including table of contents, index, author bios, and cover
graphic, see: http://post.oreilly.com/rd/9z1z0cvtnbrbfi4he26j52cm6pj4n8...
Metaprogramming Ruby
http://post.oreilly.com/rd/9z1ztjr551m8l5get2v93t1vd50r6q...
Publisher: Pragmatic Bookshelf
Paolo Perrotta
ISBN 13: 9781934356470, 240 pages,
$32.95 USD
order@oreilly.com
1-800-998-9938
1-707-827-7000
About Pragmatic Bookshelf
Pragmatic Bookshelf is an imprint of the Pragmatic Programmers, LLC. Our titles are distributed to
bookstores internationally by O'Reilly Media.
The Pragmatic Bookshelf features books written by developers for developers. The titles continue
the well-known Pragmatic Programmer style, and continue to garner awards and rave reviews. As
development gets more and more difficult, the Pragmatic Programmers will be there with more titles
and products to help programmers stay on top of their game.
About O'Reilly
O'Reilly Media spreads the knowledge of innovators through its books, online services, magazines,
and conferences. Since 1978, O'Reilly Media has been a chronicler and catalyst of cutting-edge
development, homing in on the technology trends that really matter and spurring their adoption by
amplifying "faint signals" from the alpha geeks who are creating the future. An active participant
in the technology community, the company has a long history of advocacy, meme-making, and
evangelism.
# # #
O'Reilly is a registered trademark of O'Reilly Media, Inc. All other trademarks are the property of
their respective owners.
You are receiving this email because you are a public relations contact with O'Reilly Media, a
distributor for Pragmatic Bookshelf.
If you would like to stop receiving any and all press releases from O'Reilly, please email
press@oreilly.com.
O'Reilly Media is a Distributor for Pragmatic Bookshelf
O'Reilly Media, Inc. 1005 Gravenstein Highway North, Sebastopol, CA 95472 (707) 827-7000