先日のサイトリニューアルの件が日経ITProに掲載された。
正直、「こんなことまでとりあげられるの!?」という感じだが、 それだけRubyが旬ということなのだろう。
できることならば、ブームは去っても「そういえばそんなのあったよね」などと 言われてしまうようなことがないようにしたいものだ。
quilt.elの件でEmacs Lispを調べている時に見つけたEmacs Lispライブラリ。
mwheelはマウスホイールのサポートを行うライブラリ。
大抵のマウスはスクロールホイールの上下をそれぞれボタン4とボタン5に割り当ててくれるから .emacsの中に以下のように書いておくと、ホイールでスクロールができる。
(define-key global-map [mouse-4] 'scroll-down) (define-key global-map [mouse-5] 'scroll-up)
しかし、これでは現在のマウスカーソルの位置は意識してくれないから、 ウィンドウを分割している時に現在のテキストカーソルがあるウィンドウで スクロールが発生することになる。 (特にWindowsでは)ホイールは現在マウスカーソルが入っているウィンドウをスクロールしてくれる ことが多いので、これはあんまり嬉しくない。
そんな時にはmwheel.el。.emacsに以下のように書くだけ(Debianではパスの設定やrequireは要らない)。
(mwheel-install) (setq mouse-wheel-follow-mouse t)
これで他のGUIアプリケーション同様、現在マウスカーソルがあるウィンドウをスクロールしてくれる。
あと、マウスカーソルとテキストカーソルが近すぎるとなんか邪魔な気がするのは 私だけではないはずだ。そんな時にはmouse-avoidance.el。
(if (display-mouse-p) (mouse-avoidance-mode 'exile))
これを.emacsに付けておくだけで、マウスカーソルとテキストカーソルが近くなりすぎると マウスカーソルの方がよけてくれる。よけ方には何種類かあって
個人的にはexileが好みだが、animateも面白い。
Joel Spolsky、ふたたびRuby(のパフォーマンス)について語る。 結局は「だって遅いじゃん、コンパイルできないし、動的だし」という話。
このことの受け止め方はそれぞれだと思う。
たとえば、SeasideのAvi Bryantは「HREF Considered Harmful: Ruby and Strongtalk」において、
と反応している。ま、それは言える。LispもSmalltalkも長年の投資で それなりに高速化されている。場合によっては、通常コンパイル型言語と呼ばれることの多い 静的型言語よりも高速なケースもあるくらいだ。
DHHも反応している。「Outsourcing the performance-intensive functions (Loud Thinking)」で、
といった感じか。ごもっとも。私の以前の反応とも対応している。
まあ、Webサービス(ASP)的なBasecampと 結局ユーザサイドにインストールされるJoelのところのFogBugzでは 前提が違うのかもしれない。
また、ウサギ(C#)とカメ(Ruby)にたとえたブログエントリもあって面白かった。
さて、私自身は大規模なシステムやたくさんのユーザがいるシステムをRubyで組んだことはないので (我が社には何人もいるけど)、エンタープライズなRubyについて語っても説得力はないのだが、 この件で感じたのは、JoelがRubyについて少なくとも検討するだけは真面目に考えた、という事実だ。
つまり、(ソフトウェア開発に関して私と趣味・趣向・思想が全く異なる)Joelでさえ、 検討に値するほどRubyがメジャーになったということだ。 だって、ここに名前が出る言語っていったら他にはC#, Java, PHP, Pythonくらいなもんだよ。
思えば遠くに来たもんだ。ここまで来れたことを考えたら、 Joelが実際にRubyを使おうが使うまいがそんなことは小さいことに思える。
ベンチャー企業「ウェブツーポイントオー」がRubyを選んだ理由。 簡単に言うと「とんがった個人が利用してばりばり生産性をあげちゃったから」。
ま、Rubyが採用される、あるいは強みを発揮できるケースってのは 結局そんなものかもしれない。
しかし、Rubyが広まるにつれ今度は「ほんとはJavaで開発したいのに、業務命令でしぶしぶRuby案件を開発する」なんて人も数多く出てくるんだろうなあ。なんか現在なら代わって欲しい人が続出しそうなシチュエーションだけど。