Ruby Under a Microscope

Ruby Under a Microscope

An Illustrated Guide to Ruby Internals
by Pat Shaughnessy
November 2013, 360 pp.
ISBN-13: 
978-1-59327-527-3

How Ruby Works Under the Hood

Ruby is a powerful programming language with a focus on simplicity, but beneath its elegant syntax it performs countless unseen tasks.

Ruby Under a Microscope gives you a hands-on look at Ruby’s core, using extensive diagrams and thorough explanations to show you how Ruby is implemented (no C skills required). Author Pat Shaughnessy takes a scientific approach, laying out a series of experiments with Ruby code to take you behind the scenes of how programming languages work. You’ll even find information on JRuby and Rubinius (two alternative implementations of Ruby), as well as in-depth explorations of Ruby’s garbage collection algorithm.

Ruby Under a Microscope will teach you:

  • How a few computer science concepts underpin Ruby’s complex implementation
  • How Ruby executes your code using a virtual machine
  • How classes and modules are the same inside Ruby
  • How Ruby employs algorithms originally developed for Lisp
  • How Ruby uses grammar rules to parse and understand your code
  • How your Ruby code is translated into a different language by a compiler

No programming language needs to be a black box. Whether you’re already intrigued by language implementation or just want to dig deeper into Ruby, you’ll find Ruby Under a Microscope a fascinating way to become a better programmer.

Covers Ruby 2.x, 1.9 and 1.8

Author Bio 

Well known for his coding expertise and passion for the Ruby programming language, Pat Shaughnessy blogs and writes tutorials at patshaughnessy.net. He also develops Ruby applications at management consulting firm McKinsey & Co. Shaughnessy is a regular presenter on the Ruby conference circuit, and his articles and presentations have been featured in the Ruby Weekly newsletter, the Ruby5 podcast, and The Ruby Show.

Table of contents 

Foreword by Aaron Patterson
Acknowledgments
Introduction

Chapter 1: Tokenization and Parsing
Chapter 2: Compilation
Chapter 3: How Ruby Executes Your Code
Chapter 4: Control Structures and Method Dispatch
Chapter 5: Objects and Classes
Chapter 6: Method Lookup and Constant Lookup
Chapter 7: The Hash Table: The Workhorse of Ruby Internals
Chapter 8: How Ruby Borrowed a Decades-Old Idea from Lisp
Chapter 9: Metaprogramming
Chapter 10: JRuby: Ruby on the JVM
Chapter 11: Rubinius: Ruby Implemented with Ruby
Chapter 12: Garbage Collection in MRI, JRuby, and Rubinius

Index

Reviews 

Listen to author Pat Shaughnessy on the Ruby Rogues podcast

"Nearly every Ruby expert will benefit from knowing so much about how the language and runtime operate."
Dr. Dobb's (Read More)

“Many people have dug into the Ruby source code, but few make it back out and tell the tale as elegantly as Pat does in Ruby Under a Microscope! I particularly love the diagrams—and there are lots of them—as they make many opaque implementation topics a lot easier to understand, especially when coupled with Pat’s gentle narrative. This book is a delight for language implementation geeks and Rubyists with a penchant for digging into the guts of their tools.”
Peter Cooper, Editor of Ruby Inside and Ruby Weekly

“Man, this book was missing in the Ruby landscape—awesome content.”
Xavier Noria, winner of the Ruby Hero Award, Ruby on Rails Core Team Member

“Pat Shaughnessy did a tremendous job writing the book about Ruby internals. Definitely a must read—you won’t find information like this anywhere else.”
Santiago Pastorino, WyeWorks Co-Founder, Ruby on Rails Core Team Member

"By far the best Ruby book I've ever read."
Tomasz Węgrzanowski, Ruby hacker (Read More)

"The seemingly "magic" things that Ruby does all have a clear and straightforward, step-by-step, explanation."
Dustin Schultz, Software Engineer (Read More)

“I really enjoyed the book and now have a far better understanding of both Ruby and CS. The writing made very complex topics (at least for me) very accessible, and I found the book hard to put down. Diagrams were awesome and are already popping in my head as I code. This is by far one of my top 3 favourite Ruby books.”
Vlad Ivanovic, Digital Strategist at Holly Sydney

“While I’m not usually digging into Ruby Internals, this book was an absolutely awesome read.”
David Deryl Downey, Found of Cyberspace Technologies Group

Updates 

Page 60:
Figure 3-8 is missing "self" from the bottom rectangle.