Ruby.NET Compiler ですが、C# などの言語との相互接続性(interoperability)を確立したようです。つまり、Ruby 上で C# で宣言したクラスのインスタンスを生成したり、C# 上で Ruby で宣言したクラスのインスタンスを生成したりできるようです。継承などがどうなるのかは試していません。

eval、パフォーマンス、日本語はどうなるのかなど、気になる点は多いですが、5 月には VS.NET 上での開発も実現しており、機能的には使えるレベルまできた気がします。

Rails を移植するつもりもあるようです。個人的には全然うれしくないですけど。長期的には意味があるかもしれませんが、向こう数年間では、.NET で Rails が動いてもそれほど意味がない気がします。Mono があるとはいえ動作する OS が制限される、gem は?、数々のプラグインは?、などなど心配事は尽きません。メリットがあるとすれば、ウェブインタフェース(オンライン処理)は Rails、バッチは C# というような使い分けかもしれません。

それに、Ruby はパフォーマンスがあまり良くないのでマシンを並列することも多いと思いますが、有料の OS はマシンごと or CPU ごとに課金することが多いので、そういう意味でも難しいと感じています。

個人的には、クライアントに可能性を求めて欲しいところです。ただ、.NET DLR の Ruby(IronRuby)との位置づけはどうなるのでしょうか。(処理系が増えること自体は、歓迎すべきことでしょう。)

(相反することをいうようですが、個人的には JRuby 上では Rails は動作して欲しいです。Kodougu を移植したいので。EMF とか使いたいものがたくさんあります。)

ま、今後に期待ということで。

Posted by あかさた
Microsoft が Managed DirectX 2.0(.NET Framework 2.0 用の DirectX)の開発をやめてしまい、それに依存していた Rmake が動かなくなるという事件が発生しました。そこで、Managed DirectX 1.1 へ戻す作業を行っていた(メインは Dycoon 氏が作業していますが)関係で、久々に Visual Studio を触りました。

最近は Eclipse 上に載せた RAD Rails(Rails 開発用プラグイン)しか触っていなかったので、Subversion と統合していない(AnkhSVN とかありますが)から開発しにくいとか、ビルドしなきゃいけないからめんどくさいとかいろいろ違和感を感じていますが、どうにか作業を進めることはできました。

さて、今回は Managed DirectX のバージョンを戻す(2.0 -> 1.1)という悲しい作業を行ったのですが、本当は XNA(Windows でも XBox360 で動作するマネージドなゲーム開発用フレームワーク)を使いたかったわけです。しかし、既存の Window アプリとの親和性があまりよくないらしく、泣く泣く断念しました。

とはいえ、これは一時的な対処で、将来的には XNA かネイティブに乗り換える必要が出てくると思います。(大方の予想通り、Managed DirectX の未来は暗いのです。)あーあ、どうしたもんだろ。

Posted by あかさた