- Introduction
- Dedication
- Preface
- Part I - The Rubinius Language Platform
- Introducing Rubinius
- Getting Rubinius
- Console: Portal to Another World
- Atom Terminal: Joining Two Worlds
- Instructions: The Essence of Program Behavior
- Interpreters: A Program at Play
- Parsers: Seeing Trees in a Forest of Characters
- Community: Playing Well Together
- Compilers: Trains of Transformations
- Scopes: Keeping Things in Tidy Boxes
- Concurrency: Weaving Webs of Behavior
- Inspectability: Understanding Program Behavior
- Managed Memory: A Future Plan
- IO
- Garbage Collection: Stay in Touch to Stay Alive
- Just-In-Time Compiler: Using the Machine Under the Machine
- CodeDB: A Memory for Programs
- Debugging the Platform
- Part II - Understanding Programming Languages
- Part III - Writing Your Programming Language
- Part IV - Working in the "Real World"
- Part V - Rubinius Reference
- Index
- Bibliography