米Microsoftは10月11日,Java言語を使って.NETアプリケーションの開発が可能な開発ツール「Visual J# .NET」(以下VJ#)を発表し,同社のWebサイトでベータ版の無償配布を開始した。ダウンロード・ファイルのサイズは約7MBだが,動作には別にViusal Studio .NET Beta 2の英語版が必要になる。製品版の出荷は2002年前半を予定しており,Viusal Studio .NETとは別にリリースされる見込み。

 VJ#は,.NET Framework上で動作するアプリケーションやXML WebサービスなどをJava言語で開発するためのツール。Visual Studio .NETの統合開発環境に組み込まれ,Visual Basic .NETなどと同じような環境で開発できる。コーディングにJavaを使う点を除けば,これらのツールと基本的に同じものと考えてよい。ほかの言語で作成したクラスを再利用できる点なども同じだ。

 Javaで記述したソースコードは,VJ#のコンパイラによってVisual Basic .NETやVisual C# .NETと共通の中間言語MSIL(Microsoft Intermediate Language)に変換され,CLR(Common Language Runtime)上で実行される。同ツールには,CLR上で動作するJDK1.1.4相当のJavaクラスライブラリや,Visual J++ 6.0に付属するWindowsアプリケーション開発用クラスライブラリWFCも用意する。加えて,JavaバイトコードをMSILに変換するツールも付属する。ただし,コンパイラがバイトコードの生成をサポートしていないため,Java VM(仮想マシン)上で動作するアプリケーションやアプレットを作成することはできない。

 .NET Framework上で動作させるため,VJ#は言語仕様の一部をJavaから拡張している。具体的な拡張点は,(1)基本型として符号なしのバイト型であるubyteを追加,(2)関数の引数を参照渡しにできる,(3)@で始まるアトリビュートをサポート,など。これらの言語拡張は,コンパイラ・オプションで無効にすることも可能。

 このほか同ツールは,Visual J++6.0のプロジェクトをVisual Studio .NETのプロジェクトに自動的に変換する機能も備える。Windows APIを直接呼び出すためのJ/Directなど,同社がJava言語を独自拡張した部分についてもサポートする。このおかげで,既存のVisual J++のアプリケーションをわずかな変更で.NETアプリケーションに変換できるという。

 .NET Frameworkをターゲットにした開発言語は,すでに20以上を数えるが,今回のVJ#で,さらにもう一つ選択肢が増えることになる。同社は,VJ#を使うことで,Java開発者がこれまで培ってきた技術やコード資産を活かして.NETアプリケーションを作成できるとしている。

(日経ソフトウエア)