プラットフォームを 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
ちなみに、Eclipse で C# 開発をするためのプラグインに、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