嫌いなところは、最適化がしづらいところだと僕は思っているんですが、なんですけれども、実際に何が妨げになっているかというと、例えば大域脱出とかトレースポイント辺りが大変だと思っているんですが、そのどっちも外せないなと思っていて、だって大域脱出がなかったら、僕はRubyは多分、使わないぐらい不便になるんでというのと。トレースポイントはデバッガに絶対必要ですし、かつトレースポイントは、例えば無効にしたモードとしないモードがあったとするじゃないですか。そこでしないモードでだけ最適化を有効にしちゃうと、最適化をしたことによって発生するバグがデバッグできなくなっちゃうんで、やっぱりトレースポイントがある状態で最適化をしないといけないというふうに思っていて、そう考えるとその嫌いなところも割としょうがない部分かなとは思っています。コンパイル系のプログラムだと、最適化したという情報もDWARF6のセクションの中に残しておいて、いざブレークポイントに落ちたら、そこで残しておいた情報から再構築してみたいな話に多分なっていくんだけれども、なかなか「それをやるのか?俺らが?」みたいな。卜部なんかそのDWARFのデバッグ情報とかをある時ふっと見て、これすげえつらいなと思って、同じことをやる気にはならない。次は、Rubyを使って成功だったという事例はありますかというやつを聞くんだけれども、それはさっきなんかこれまで何をつくりましたかのやつで、結構聞いたと思うので。卜部その次の、自分にとってこれはキラーアプリだったというのは何ですか。自分が作ったんじゃなく、他人がつくったやつでこれはというやつ。他人がつくったやつ?多分、Railsが僕の中で今のところは一番お気に入りなんですが、あと挙げるとしたらfluentdが一番クラウドネイティブとしていろんなところで使われているので、そこはRailsの次ぐらいに普及しているぐらいの気持ちで見ていて、すごい頑張っているなと思います。なんかポジショントークみたいになっていますけれども。次はRubyの習得は簡単でしたか。Objective-Cを勉強した時点で、オブジェクト指向特有のなんか難しいポイントを既に突破していて、例えば、最初とかはクラスメソッドとインスタンスメソッドの違いとかが全然分かんなかったんです。それをObjective-Cで突破していたので、Rubyに入ってくると、なんか別に同じ機能が単に楽なシンタックスで使えるぐらいの差しかなかったので、特に障壁は感じなかったです。卜部そういう意味で言うと、C++とかJavaとかのオブジェクト指向と、Objective-Cのオブジェクト指向はちょっと違うよね。僕はC++はがっつり書いた経験がないんで、そこまで違いはよく分かっていないんですが、どの辺が違う感じなんですかね?卜部なんかメソッド呼び出しじゃないですか。ディスパッチがダイナミックかどうかという話ですか。卜部そう、という辺りでなんか。シンタックスはさておき、動き方は結構似ている。卜部Objective-Cは、ちょっとシンタックスが特殊過ぎて、なんか。国分なんか全然違いますね。引き数の渡し方とかがちょっと特殊ですけれども。これはRubyだけじゃなくて、全般的なんですが、今まで読んだ中で最も美しいソースコードは何でしょうか。vm.cからincludeされてる.incのファイルの生成機構が今はすごいきれいになったなと思って、卜部さんがやったやつなんですけども。ありがとうございます。国分あれは何がきれいかというと、Cのコードを生成するためにRubyが使えるわけじゃないですか。Rubyを使うと普通は遅くなっちゃいますけれども、Cのコードを生成しているんで、Rubyできれいに書きつつ、しかも早いコードが書けるというところが、なんかすごいいいなと思っていて、それをなんかMJITでもだいぶ使わせていただいているので、とてもお世話になっていますという感じです。