J Sharp

J Sharpの最新ニュースをまとめて検索!

本来の表記は「J#」です。この記事に付けられた題名は記事名の制約から不正確なものとなっています。

J#は、サンマイクロシステムズJavaマイクロソフトJ++といった言語向けに開発された既存のアプリケーションやノウハウをマイクロソフト.NET Framework上に移植するためのプログラミング言語である。 J#ではJavaのバイトコードを処理の対象にすることができる。つまり、サードパーティ製ライブラリのソースコードにJ#と直接の互換性がなかったとしてもそれらを利用可能である。これはアメリカ以外での開発において特に重要な意味を持つ。[要出典] J#は、インドのHITEC市にあるマイクロソフトインド開発局で開発された。[1]

目次

[編集] J#エディタ

Javaと違い、Visual Studioやスタンドアロン型のVisual J#Express Editionは、ウィンドウズ環境でのみ動作するバイナリコードのアプレットやアプリケーションのみを作成できる。つまり、拡張子が.exeの実行ファイルやコンソールアプリケーション、そして拡張子が.dllのクラスファイルである。Visual J#の未コンパイルJavaファイルは、.jsl形式である。

[編集] J#とJavaの基本的な違い

JavaとJ#とで全般的な文法はほぼ同じであるが、.NET環境をサポートするためにJavaの規格には適合していない。たとえば、.NETプロパティを普段のJavaBeanのクラスで使うためには、getXxxメソッドやsetXxxメソッドのようなget/setのプレフィックスを備える必要があり,メソッドに対してJavadocのような注釈を添える。

/** @beanproperty */

もしget/setの後に続く名称と同じプライベート変数を有するなら,その変数は異なる名称に変更しなければならない。 J#はJavaのソースコードから.classファイルのようなJavaバイトコードにコンパイルしないし、Javaアプレット開発環境やWebブラウザ上でアプレットを実行する機能もない。しかしながら、ActiveXオブジェクトとしてホストするためのラッパー(Microsoft J# Browser Controls)は提供されている。 最後に、Java Native Interface(JNI)とRaw Native Interface(RNI)については、P/Invoke(プラットフォーム呼び出し)で代用する。J#はJava RMIをサポートしない。


言い換えると、Javaが中間コードをJava仮想マシン上で動作させるのと同じように、J#は共通中間言語にいったんコンパイルされた中間コードを.NET Framework上で実行する。

[編集] J#の将来

J#は、C#やVB.NETに負けないプログラミング言語であるとは一般的に考えられていない。そしてほか言語になされるのと同じくらいのサポート、サンプルの提供、またはアップデートもなされていない。この事実にも関わらず、J#は利用可能な.NET言語であり、すべての共通言語ランタイムの特徴へのアクセスを持っている。

マイクロソフトのJ#開発チームは、J#の将来について2つの重要なアナウンスをおこなった。 [2]

  • マイクロソフトは64ビットランタイムをサポートして欲しいという顧客の要求に応えるため、Visual J#のアップデートバージョンを提供する。それはJ#2.0 Second Editionと呼ばれる64ビット環境の再配分できるバージョンを含むはずである。 [3]
  • J#とJava Language Conversion Assistantを、Visual Studioの将来のバージョンに含めないこと。それは現在のJ#の特徴が顧客の要求へあわなくなり、J#の利用が衰えたためである。Visual Studio2005として出荷されている現在のバージョンは、製品ライフサイクル戦略によって2015年までサポートされる。

[編集] 脚注

[編集] 関連項目

最終更新 2009年10月2日 (金) 18:36 (日時は個人設定で未設定ならばUTC)。
【J Sharp】変更履歴

ご利用上の注意