| パラダイム | オブジェクト指向、構造化、命令型 |
|---|---|
| 開発者 | マイクロソフト |
| 初登場 | 2002年7月1日 |
| 最終リリース | v2.0 第2版 / 2007年5月18日 |
| プラットフォーム | .NET フレームワーク |
| Webサイト | msdn2.microsoft.com/en-us/vjsharp/default.aspx |
| 影響を受けた | |
| JavaおよびVisual J++ | |
Visual J# (発音は「ジェイシャープ」) は、 JavaおよびVisual J++言語のプログラマーが既存の知識とアプリケーションを.NET Frameworkで使用できるようにするための移行言語であったJ#プログラミング言語の廃止された実装です。[1] [2] 2002 年に導入され[3]、2007 年に廃止されましたが、製品の最終リリースのサポートは 2017 年 10 月まで継続されます。
J# はJava バイトコードとソースの両方で動作するため、元のソースコードが入手できない場合でも、サードパーティのライブラリを使用するアプリケーションの移行に使用できます。 [要出典]これは、インドのハイデラバードにあるHITEC シティの Microsoft India Development Centerによって開発されました。[4] [5]
Visual J++における Java の実装であるMSJVM はSunのコンプライアンス テストに合格しなかったため、Java の作成者である Sun から訴訟を起こされ、J# が開発されました。Microsoft は 2007 年 12 月 31 日に MSJVM のサポートを終了しました (後に Oracle が Sun を買収し、Java とその商標も買収しました)。ただし、Microsoft は 2021 年に正式に Java の配布を再開しました (ただし、以前の J++ のように Windows やその Web ブラウザーにバンドルされることはありません)。つまり、Oracle の OpenJDK [6]のビルドで、Microsoft は少なくとも 6 年間、LTS バージョン (Java 17 の場合は 2027 年 9 月まで) をサポートする予定です。
J#とJavaの基本的な違い
Java と J# は同じ一般的な構文を使用しますが、J# には .NET 環境をサポートするために Java 以外の規則があります。たとえば、標準のJavaBeanクラスで .NET の「プロパティ」を使用するには、getter メソッドと setter メソッドの前にJavadocのような注釈を付ける必要があります。
/** @beanプロパティ */
…対応するプライベート変数名を、getXxx/setXxx名の接尾辞とは異なるものに変更します[引用が必要]。
J# は Java 言語のソース コードを Java バイトコード (.class ファイル) にコンパイルしません。また、Java アプレットの開発やWeb ブラウザーで直接アプレットをホストする機能もサポートしていません。ただし、アプレットをActiveXオブジェクトとしてホストするための Microsoft J# Browser Controls というラッパーは提供しています。最後に、Java Native Interface (JNI) とRaw Native Interface (RNI) はP/Invokeに置き換えられています。J# はリモート メソッド呼び出し(RMI)をサポートしていません。[7]
InfoWorld は次のように述べている。「J# の .NET フレームワークへのインターフェイスは堅牢だが、 C#ほどシームレスではない。特に、J# コードでは新しい .NET 属性、イベント、値型、またはデリゲートを定義できない。J# は、他の言語で記述されたアセンブリで定義されているこれらの言語構成要素を利用できるが、新しいものを定義できないため、他の .NET 言語と比較して J# の範囲と相互運用性が制限される。」 [8]
対照的に、Visual Studio 2005のMicrosoftドキュメントでは、.NETデリゲート、 [9]イベント、[10]および値型[11]の定義がJ#で直接詳細に説明されています。
J#の歴史
2007年1月、マイクロソフトは次のように発表した。[12]
- マイクロソフトは、64ビットランタイムサポートに対する顧客の要望に応えるため、Visual J# 2.0のアップデート版( 64ビット 再配布可能バージョンを含むJ# 2.0 Second Edition)を作成する予定。マイクロソフトは2007年5月にVisual J# 2.0 Second Editionをリリースした。[13]
- Visual Studioの将来のバージョンから J# 言語と Java 言語変換アシスタントが廃止されます。Visual Studio 2005 に同梱されていた最後のバージョンは、2015 年までサポートされていました。
- vjsnativ.dllが事前にロードされていないと、.NET 4.0コードからJ#コードを呼び出すことは失敗します。[14]
Visual J# 2005 Express Edition のダウンロードは、Microsoft の Web サイトからは利用できなくなりました。
Visual J# は、2007 年にリリースされた Visual J# 2.0 再頒布可能第 2 版を含め、サポートが終了しています。これは、EN-US ロケールで 2017 年までサポートされていました (5 年間のメインストリーム サポートと 5 年間の延長サポート)。[15] [16]
参照
- IKVM.NET – Monoおよび.NET Framework 用の Java の無料実装
参考文献
- ^ 「Visual J# ホーム」。msdn.microsoft.com。2017年 3 月 24 日閲覧。
- ^ 「Java から .NET Framework への移行ワークショップ: 無料オンライントレーニング」。2007 年 4 月 30 日。2008 年 4 月 23 日時点のオリジナルよりアーカイブ。2020年 1 月 28 日閲覧。
{{cite web}}: CS1 maint: bot: 元の URL ステータス不明 (リンク) - ^ マイクロソフトニュース、[1]、2002年7月1日
- ^ S Prasanna、「Microsoft の VJ#.Net はインド製」、Express Computer 、2002 年 7 月 29 日。2013 年 11 月 28 日にWayback Machineにアーカイブ。
- ^ 「The Hindu Business Line : Microsoft がハイデラバード センターに大規模な計画を準備」www.thehindubusinessline.com。
- ^ 「OpenJDK の Microsoft ビルドの一般提供を発表」。Java at Microsoft。2021 年 5 月 25 日。2021 年 8 月 3 日閲覧。
- ^ 「Visual J# Migration」。Visual Studio 2005。MSDNライブラリ。2012年 3 月 16 日時点のオリジナルよりアーカイブ。2021 年 12 月 25 日閲覧。
- ^ Yager, Tom (2001 年 11 月 21 日). 「J# を Java と呼ばないでください」. InfoWorld . 2020 年 7 月 20 日閲覧。
- ^ "delegate (Visual J#)". Visual Studio 2005 . MSDN ライブラリ. 2011-12-19 時点のオリジナルからアーカイブ。
- ^ 「イベントの定義と使用」。Visual Studio 2005。MSDNライブラリ。2011年 12 月 19 日時点のオリジナルよりアーカイブ。
- ^ 「ユーザー定義値型」。Visual Studio 2005。MSDNライブラリ。2011年 12 月 20 日時点のオリジナルよりアーカイブ。
- ^ Microsoft Developer Network、Visual J# 製品発表、2007 年 1 月 10 日
- ^ 「Visual J# 2.0 Second Edition 再頒布可能ダウンロード」。Microsoft。2007年 5 月 23 日時点のオリジナルよりアーカイブ。2010 年 4 月 27 日閲覧。
{{cite web}}: CS1 maint: bot: 元の URL ステータス不明 (リンク) - ^ 「.NET 4.0 から J# コードを呼び出す - Windward Wrocks」。2017年3 月 6 日閲覧。
- ^ 「Visual J# Home」 。 2017年3月6日閲覧。
- ^ 「Visual Studio 2008 のサポート終了 – 1 年以内」。2017年 4 月 11 日閲覧。
外部リンク
- Wayback Machineの公式ウェブサイト(2008 年 2 月 26 日アーカイブ)
- Visual J# 設計の選択: Wayback Machineでの Pratap Lakshman との会話(2007-04-16 アーカイブ)
