Java を C# に変換するには

プラットフォームを Java から .NET に移行する場合の選択肢として、Java から C#ソースコードを変換するツールがある。
代表的なものに Microsoft の JLCA (Java Language Conversion Assistant) があるが、Java 1.1.4 相当しかサポートしていない上、Visual Studio 2008 ではついに削除されてしまった。
ヤダヤダ、どうしても変換したいんだい! という場合は、下記のツールが使える。

Java 2 CSharp Translator
http://sourceforge.net/projects/j2cstranslator/

Eclipse 3.3 のプラグインとして使える。Eclipseリファクタリング機能を使って「C# っぽくないコード」を減らした上で構文やキーワードの変換を行ってくれるので、元のソースからは変わってしまう可能性があるが、「変換後のソースがコンパイルエラーの嵐でゲンナリ」というパターンはだいぶ避けられるんじゃないだろうか。
このツール自体はオープンソースだけど、商用製品の C# 版開発に使われた実績があるという。開発元の ILOG は、下記の記事によるとフランスの企業で、先日 IBM による買収が決まったとのこと。

マイコミジャーナル - 米IBM、仏ILOGを2億1500万ユーロで買収へ
http://journal.mycom.co.jp/news/2008/07/29/018/index.html

今後の動きにも期待?

ILOG 買収決定と時を同じくして、上記の Java 2 CSharp Translator を eclipse.org に入れてくれという提案が出されている。

eclipse.org - Proposals - Java 2 CSharp translator
http://www.eclipse.org/proposals/c-sharp

ちなみに、EclipseC# 開発をするためのプラグインに、Emonic というのがある。

Emonic
http://sourceforge.net/projects/emonic

その Emonic のフォーラムでも上記の提案の話が出ていて、しかもそこに Java 2 CSharp Translator の開発者である Alexandre FAU 氏が顔を出してみたりしている。

Java 2 CSharp translator project proposal
http://sourceforge.net/forum/forum.php?thread_id=2132149&forum_id=533588

もしかしたら、Eclipse での .NET 開発がアリになる日もそのうちやって来るのかな?