書籍『Ruby でつくる Ruby』が発売されます

『Ruby でつくる Ruby』表紙
ref: https://www.lambdanote.com/collections/frontpage/products/ruby-ruby

おかげさまで、ASCII.jp で連載していた『Ruby で学ぶ Ruby』が紙の本になる運びとなりました。わーい。『Ruby でつくる Ruby ― ゼロから学びなおすプログラミング言語入門』と微妙にタイトルが変わったので注意。

一番大切なことを先に言っておくと、書店に並ぶ予定はありません。ラムダノート株式会社という出版社の直販サイトで購入できます。アスキーじゃないの?と聞かないでください。追記:今はいろいろ購入方法が増えました。『Ruby でつくる Ruby』の購入方法をご参照ください。

ラムダノートは『型システム入門』のときにもお世話になった編集の鹿野さんが立ち上げた新しい出版社です。鹿野さんと高尾さんの編集コンビは、技術書については知る限り最強なので、何か書きたいネタがある人はラムダノートに持ち込むといいですよ。

どんな本?

一言で言えば、RubyRuby インタプリタをつくる本です。Ruby インタプリタとは、Ruby プログラムを動かすためのプログラムのことです。この開発を通して、Ruby という言語を外側と内側の両面から学んでいけます。

環境のセットアップから説明していくので、Ruby について何も知らなくても、いっそプログラミングをしたことがない人でも読めるように書いたつもりです。そこからはじめて、たった 144 ページで、Ruby インタプリタを「自作」していきます。もちろん完全な Ruby インタプリタではなく、いろいろ端折った簡略版の Ruby(MinRuby と呼んでいます)のインタプリタですが、いちおう「ブートストラップ」ができます。つまり、自分で書いたインタプリタで、自分で書いたそのインタプリタ自身を動かせるということです。ここまでできれば胸を張って「インタプリタを自作した」と言えるレベル。本の内容については、連載開始時の記事連載終了時の記事もご参照ください。

あと、記念すべきラムダノートの初出版本 2 冊のうちの 1 冊ということで、なんか採算度外視の豪華な本になっています。なんと言っても、本文が全ページフルカラーです。絵本なのかな。hirekoke さんのかわいい(そしてエキセントリックな)挿絵が全部載っています。(なお、もう 1 冊の初出版は、"Bulletproof SSL and TLS" の翻訳本「プロフェッショナル SSL/TLS」です)

連載時からの改善点

ところで、自分にとって初の連載記事であった『Ruby で学ぶ Ruby』は、連載の恐怖を知る機会にもなりました。それは、「締め切り」、ではなくて、「公開しちゃった部分を変えられない」ということです。もちろん Web 連載なので typo なんかは直せるんですが、「これ、あのときに合わせて説明しておけばよかったな」とか「この用語、ちゃんと説明しないまま使ってしまっているなあ」などというレベルのミスは最新版で中途半端に補足するしかなくて、文章がツギハギだらけになっていく。今回、鹿野さんと高尾さんの全面バックアップの下、その手のツギハギを一掃しました。おかげで、かなり読みやすくなったと思います。

付録として自力構文解析も載せたいと思っていたのですが、こっちは残念ながら紙面の都合で載せられませんでした。ざっと見積もって、144 ページが 200 ページ超になりそうだった。一応、興味のある人向けに、further reading というか調べると良さそうなキーワードを足しておきました。この本が売れれば続編を書く機会が得られるのではないかと思うので、なにとぞ、なにとぞ!

注意点

  • 書店に並ぶ予定はありません(再掲)。ラムダノートの直販サイトから購入してください。追記:今は『Ruby でつくる Ruby』の購入方法をご参照ください。
  • 直販サイトがイヤな人は、ラムダノートが行商をするタイミングを狙いましょう。とりあえず、4/9(日)に秋葉原で行われる技術書典 2 のラムダノートのブースでは販売される見込みです。
  • 電子書籍はありません(予定もありません)。理由は大人の事情によるらしい(ぼくもよくわかってない)。ちょっともどかしいのですが、この本が売れれば電子書籍になる可能性もあるみたいです。