前回までのあらすじ:
ヤギが表紙の『Rubyデスクトップリファレンス』が、ハチドリ本こと『プログラミング言語Ruby』に変化した経緯をお話いただきました。今回からは監訳の卜部昇平さんと一緒に、『プログラミング言語Ruby』の章立てを順に追いつつ、本書とRubyにまつわる話がはじまります。が、まず書籍のタイトルやクレジットの話題から、まつもとさんがウォッチする「あの人」の話題に…
『プログラミング言語Ruby』のヘンなところ
この本って、結構オライリー的には変わった本で、とさっきオライリーの人から聞いたんですけど、1つはタイトルが『The Ruby Programing Language』って書いてあるんです。
―原著ですね。
こっち(日本語版)でも『プログラミング言語Ruby』となっていて、他の、オライリーの他の本で、こういう『Programing Language』というタイトルの本がほかにない。
―例えばPerlだと『Programming Perl』ですね。
あれが原典ですね。Pythonは『Programming Python』。
―『JavaScript』とか『CVS』(のようなもの)もありますね。
そう、ソフトウェアの名前そのままというのはありますけど。
―そういえば『The Ruby Programing Language』みたいなのはあまりないですね。
そうですね。もっともピッケル本が「プログラミングRuby」なので、書名をとられちゃったという理由があるのかもしれないですけれど。もう一つが「挿絵がある」こと。オライリーの本で挿絵があるのは珍しくて、僕も指摘されて改めて気づいたんですが、原著の(表紙の)下の方に「with drawing why the lucky stiff」と書いてある。
―日本語版では名前が増えちゃったから。
残念ながら日本語版には載っていない。ないですね1。それで、えー、why the lucky stiffというのは変わった人でして、何が変わっているかというと、まずヘン。
1 奥付には載っています。Rubyユーザーにはおなじみ「 Why’s (poignant) Guide to Ruby 」は「 ホワイの(感動的)Rubyガイド 」として日本語化されています。
why the lucky stiff:謎のプログラマ/イラストレータ/ミュージシャン
まず、Ruby ConferenceとかOpen Source Conventionとかに時々くるので面識はあるんですけれど、誰も本名を知らない。いつも「why the licky stiff」と名乗っているんです。
―英語版のWikipediaにも本名不詳って書いてあるんですけど。
英語版のWikipediaにはwhy the lucky stiffのエントリがあるんですが2、名前が分からない。Noteに議論があって「本名も分からないやつを載せる価値があるのか」という議論が発生してて。でも本名は分からないけど、顔写真は載っているんですよ。
―架空の人物ではないです。
どこに住んでいるか誰も知らない。昔ユタに住んでいたって話は僕も直接聞いたけれど、今どこに住んでいるかは知らない。
―Rubyとの繋がりを話すと、結構いろんなソフトウェアを書いていて、
彼は結構多くのソフトを書いていて、Rubyに添付されているyamlのライブラリ「Syck」3というのは彼がオリジナルを書いたものです。あとは構造化テキストフォーマットの「RedCloth」4、HTMLのスクレイピングをする「Hpricot」5とか。あと有名なのはShoesというGUIライブラリ6も彼のオリジナルです。
―いろいろ書いている人という感じですね。
Rubyのホームページからリンクされている「Try Ruby!」というホームページに行くと7、ブラウザの中でRubyを使えるんですが、それをやっています。普通だったらセキュリティの問題が怖くて誰もできないことなんですけど。
―whyはあのためにRubyのSandboxingライブラリを書いたって言ってましたね。
改造版のRubyを作ってサンドボックスを用意して、「Try Ruby!」を実現しているんですよ。
新しいことをどんどん始めるんですけれど飽きっぽくって、Syckも投げ出しているしRedClothも他の人に渡しているし、始めるのが得意でどんどん後に残していくというタイプ。「俺の後に道はできる」という感じのすごい人です。
最近の彼の作品は「potion」という名前のプログラミング言語8。これが面白くてですね、何が面白いかって、すごい小さいのにJITがついている。それで、よく見たらインラインアセンブラで書かれていて、JITが直接x86のインストラクションを吐く。抽象化はどこへ行ったんだって言ったら「x86はユニバーサルだから」って。実はそのJITが100行ちょっとで書いてある。それで、フィボナッチの計算だとRubyの7倍速い。という小さな言語を作っています。
ソフトウェア開発者としてのwhyはそんな人ですけれど、そのほかに彼は音楽をやってるんです。
―バンドをやってるっぽいですね。
僕が見たのは2004年のOpen Source Conventionという、オライリーが毎年やっているイベント。そこで何をやったかというと、彼はセッションを1つ持ってですね、バンド演奏を始めるんですよ。Rubyの紹介をするんです、歌で。「メソッドコールは~」とか「ドットの後ろにメッセージ名が~」とか、延々と歌うんです。
―ちなみにその歌はWebからダウンロードできます9。
そうなんだ。もう1曲歌ったんですけど、そちらは僕の英語力が足りなくて全然わからなかった。でもみんな大爆笑。それだけじゃなくて、人がそのセッションに入りきれなかった。それでたまたま、次のセッションは大ホールが空いていたからと言って再演、1000人ぐらいの前でアンコール。どうかしてると思います。
―whyはアメリカでは大人気。人気者なんです。
それで彼は絵も描いている。各章の挿絵がこんな感じです。
アヒルとか、Rubyっぽいものが映り込んでいる。ずっと見てると楽しいんだけれど、こういう変わった絵を描く。毎年RubyKaigiというイベントをやっていて10、Tシャツのイラストは毎年why画伯に描いていただいております。今年も描くとは限りませんけれど。