Matz’s Foreword to Ruby Under a Microscope


A Japanese translation of Ruby Under a
Microscope was published last month.

Matz wrote a new foreword to Ruby Under a Microscope, which was included in the Japanese version of the book published just last month. Today I’d like to share a translation so everyone has a chance to read it. The Japanese edition also includes a new appendix written by Koichi Sasada about YARV, Ruby’s virtual machine. I’ll post a translation of that tomorrow.

I love Matz’s sentiment about inspiring someone to work on Ruby… I hope that might happen too. Thank you for writing this, Matz! You’ve already inspired so many of us for years with your personality, your philosophy and with the beautiful programming language you created.

Japanese-language edition copyright © 2014 by Ohmsha, Ltd. Reproduced with permission of the copyright owner.

Foreword for Japanese Edition

The science fiction novel A Connecticut Yankee in King Arthur's Court*1 by Mark Twain is one of the books I still remember reading from my elementary school days. It is the story of an American living in the 1880s who accidentally time travels to King Arthur era England and nonetheless survives, taking advantage of his knowledge from the modern (1880) era. Surely you would be very powerful in the 5th century if you had knowledge of telephones, bicycles, and guns. But if we time travelled from the 21st century to the 5th century, how much of our knowledge could we utilize? Bicycles are okay, but how about computers? It seems almost impossible to build computers and networks from scratch ourselves. Modern technology products are too advanced for individuals to reproduce. We don't know how technologies work even when we use them in our everyday lives.

Ruby is one such technology. Even though we use it every day, not many of us seem to know what it looks like on the inside, how it runs internally, or how one could recreate such a programming language. This book sheds light on this and reveals the mystery of Ruby internals.

This book explains the software architecture of Ruby, the structure of its object system, and tips for performance improvement. In addition to that, it covers not only CRuby but also JRuby and Rubinius as well. I know of few books where you can find this type of knowledge. Though we have the Ruby Hacking Guide*2 in Japan, it's been difficult to obtain a copy for a long time. It explains a version of Ruby as old as 1.7 and naturally does not cover newer technologies like YARV. I believe RUM will contribute to a wider understanding of Ruby internals.

In the future someone inspired by this book may join the development of Ruby. It may be you. We will definitely welcome that. Or, he/she may begin creating a next generation programming language. I hope to see that happen.

In Matsue, October 2014
Yukihiro Matsumoto


*1 Twain, Mark, A Connecticut Yankee in King Arthur’s Court. (Kameyama Nagarjuna translation, Iwasaki Bookstore, 1971)
*2 Aoki Minero al., Ruby Hacking Guide. (Impress, 2002)