JRuby0.9.9リリース

OlaタンのところでJRuby0.9.9リリースの話が出ている。
Ola Bini: Programming Language Synchronicity: JRuby 0.9.9 released


JavaOne2007での 1.0 リリースに向けて互換性に最大限の注意が払われているみたい。


Oliver曰く、


「速度と互換性、どちらかというと互換性に重きを置く。
ただ、概ねMatzRubyの50% 〜 70%のスピードは出るようになった」


と自身のBlogで述べている。


Headius: Paving the Road to JRuby 1.0: Performance



0.9.9の主な改善点は下記の通り。

  • String,Array,Hashクラスの互換性とパフォーマンスについて徹底的に見直した。
  • YAMLとマーシャリングの多くの問題を改善した
  • Javaとの統合に関して主だった問題を修正した。
  • JIRAにあがっている180の問題を解決した。
  • いくつかのボトルネック取り除いた
  • RailsアプリケーションのMephstoや、Goldbergといったプラグインが手を加えなくても動作するようになった。
  • YARVベンチマークをベースにした場合、0.9.8と比較して40%の速度改善が見られた。


ちなみに、ダウンロードは,

Index of /jruby


から可能。


説明は、


Home — JRuby.org


に書いてあるとおり。

「JavaからRubyへ ―マネージャのための実践移行ガイド」の感想

JavaからRubyへ ―マネージャのための実践移行ガイド

JavaからRubyへ ―マネージャのための実践移行ガイド


Javaより先にRubyを学んでしまった僕は言ってみれば「Ruby から Javaへ」の人間だ。
それでも社会人になってから「Rubyだったら楽なのになぁ」と何度思ったことだろう。


新人の頃尊敬する協力会社の方に
「なんで、Rubyで開発できないんでしょうね」
と尋ねた。


「先進的過ぎて、5年先くらいにならないと浸透し始めないんじゃないでしょうか・・・」


と答えてくれた。


実際5年後になった今、浸透は始まっている。


この本タイトルは「JavaからRuby・・・」だが、不思議な既視感を感じたのが印象的だった。
そして、読み進むうちに


「そうそう、そうなんだよ。僕が言いたかったことは」


というフレーズに何度も出くわすのだ。

例えば、3.2.3の「長期的な生産性」の出だしだ。

パワー,シンプルさ。柔軟性。短期的な生産性を劇的に改善するRubyの特徴は、
生産性の高さを持続させることにも貢献しています。
重複が排除され、簡潔に表現されたコードは、読みやすく理解しやすいので、
保守性が高くなるのです。

この業界にいれば、どこかで見かけるコピペだらけのコード。
動けばよいと思っているコード。


保守性が全く意識されていないコード達。


もしかしたら、Rubyになっても開発者の方々のマインドが変わらなければ同じことを繰り返すのだろう。


でも、Rubyにあるマジックが多分阻止してくれると思う。
複雑怪奇に入り組んだコードが、すっきり、シンプルに一行にまとまる。
その快感を一度覚えると、書き直したくてたまらなくなる。


Rubyにはそういったリファクタリングを誘発する魔力がある*1
下記の本はこの楽しさを伝えてくれる本だ(こちらもおすすめ)。




倉貫氏も指摘しているが*2
巻末の角谷氏の言葉は非常に熱い。

僕を「Ruby から Java から Rubyへ」と誘ってくれているように思う。
移行は通算3度ほど失敗しているがもう一度やってみようという気持ちにさせてくれる。


この本は好著だ。立ち読みでもよいので読むべきだ。
世界が変わる。明日が楽しみになる。


きっと、僕らはそういった毎日がどきどきする世界に暮らすべきなのだ。
そして、Rubyはそのためのよい道具になってくれると思う。
この本はそう思わせてくれる。



とは言いつつ、案外この本冷静に Java から Rubyへ移行するための戦略がきちんと書かれているので
そちらを冷静によまれるのも一興かと。

*1:このリファクタリングを誘発する件ってあまり言及する人がいないけど僕だけ?

*2:http://d.hatena.ne.jp/kuranuki/20070422

ナナオのディスプレイはよいなぁ

ナナオのカラーユニバーサルデザイン対応ワイドモニターが欲しい!


というわけで、
ナナオのカラーユニバーサルデザイン対応ワイドモニターが欲しい!とは - はてなキーワード
でナナオのカラーユニバーサルデザイン対応ワイドモニターがあたるキャンペーンをしているみたいです。

NetBeans Ruby Pack の wiki 始まりました

我らが Tor タンが NetBeans Ruby Pack のドキュメントを NetBeans wiki 上にアップしてくれました。

Ruby - NetBeans Wiki

ぱちぱちぱち。
今のところドキュメントがなくて使い方が分からない人もいたかもしれませんが、
これで少しその状態が緩和されますね。

あと、バージョンアップでどのような機能が追加されたかは、

RubyRecentChanges - NetBeans Wiki

で分かるようになっています。

すばらしい!

JRuby 0.9.8 登場

出ました。

Home — JRuby.org

一応リリースノート翻訳(まがい(笑))。

  • Railsが持つUnitTestの98%をパス*1
  • RubyクラスがJavaの具象/抽象クラスの継承ならびにメソッドのオーバーライドが可能
  • 新しいJavaのプリミティブ配列用の文法
  • (Rubyの)Stringクラス/Numericクラス/Arrayクラスの再実装,互換性の向上とパフォーマンス性の向上
  • 重大なボトルネックが発見され、場合によってはIOスピードが0.9.2と比較して6.5倍になった。
  • Javaのインクルードクラスがこれまでより高速化された。 *2
  • JIRAで管理される225の問題が0.9.2から改善された

注目は、RubinusのNick Sieger氏がコミッターに入ったこと。
彼がチームに加わったことにより利点については後で書く(長くなっちゃったよ。できなかったら、ごめんなさい)。

*1:よい方向に向かっていると思う。Rubyユーザが簡単に試せて、あらゆる問題に対して解決を助けるのに充分になってきている。・・・・という文がくっついていたが訳が合っているか激しく疑問

*2:はっし〜〜注:RubyからJavaクラスを呼ぶ際にキャッシュするようになった

UpdateCenter 経由でRuby開発環境がダウンロードできるようになりました

NetBeans6.0M7が出ました。
掲題の通り、UpdateCenter経由でRuby開発環境を使えるようになりました。


NetBeans6.0M7ネタについては片貝さんのBlogが詳しいです。
下記のURLをご参照ください。



それにしても、これで毎日のビルド地獄から抜け出れますよ。


やた〜〜♪


■ 追記
導入方法については、下記Blogが詳しいです。
□ Installing Netbeans with Ruby / Rails support
Thoughtmining


■追記2
ScreenCastを利用したDemoが以下で紹介されています。
(Two Demos: JRuby on Rails and Advanced Ruby Editing in NetBeans! )

① RubyOnRailsアプリケーションの開発デモ
さくさく作れる感じが伝わってきます。すばらしい。
Rubyスクリプトの開発でも
コード補完がここまで出来ることをデモしています。これもすばらしい。


面白げなのでどうぞ。

Ruby IDE の比較 □ NetBeans M6 ,RDT NightlyBuild版,InteliJ ID

いつも通り、Tor NobeyのBlogを見ると
Ruby Screenshot of the Week #5
が出ている。
Tim Brayにも指摘されているSyntax highlightingの改良をがんばっているよということで、

  • 使用されていないローカル変数のカラーリング
  • ブロック変数なんかのハイライティング(意図しないローカル変数とブロック変数のバッティングを防ぐのに有効でないかい?と彼は言っている)
  • メソッド呼び出しをボールドで表示
  • エスケープコード(\n とか \t ・・・などの特殊文字ね) を赤字で表示(これ、nekopさんには評判悪かった・・・)
  • 文字列リテラル中の Rubyコード部分 #{ ・・・ } でも補完が効くようになったみたい。

ということを紹介している。
CVSからアップデートしてみたけどまだ反映されていない模様。


コメントで面白いBlogがあったので併せて紹介しておく。
Ruby IDE の比較 ー NetBeans M6 ,RDT NightlyBuild版,InteliJ IDEA ー
Ruby / Rails IDE Comparison : Idea, Netbeans, RadRails | The Nameless One


最後に比較表が載っているのが面白い。


僕が何でRubyのIDEを追っかけているかというと、
JavaのコーディングをEmacsでやっつけていたのを JBuilderEclipse と変えて劇的に生産性が上がったのが原因だ。
おそらく、Ruby用の良いIDEが登場することで無精な僕でもNoMethodErrorを出す頻度を低くRubyを扱える日がやってくるかもしれない。

すばらしい。