ビジュアルJ++

廃止されたJava実装
ビジュアルJ++
開発者マイクロソフト
初登場1996年10月1日
安定版リリース
6.0 / 1999
Webサイトmsdn.microsoft.com/en-us/library/ms950413.aspx
影響を受けた
ジャワ

Visual J++は、 MicrosoftJavaの実装を廃止したものです構文キーワード文法規則はJavaと同じでした。1996年に導入され[1]、2004年1月に廃止されました[2]。その後、ある程度J#C#に置き換えられました。

この実装であるMSJVM はサン・マイクロシステムズのコンプライアンステストに合格しなかったため、Javaの開発元であるサンから訴訟を起こされました。マイクロソフトは2007年12月31日をもってMSJVMのサポートを終了しました(後にオラクルがサンを買収し、Javaとその商標も買収しました)。しかし、マイクロソフトは2021年にJavaの配布を正式に再開しました(ただし、以前のようにWindowsやそのWebブラウザにバンドルされていません)。これはオラクルOpenJDK [ 3]のビルドであり、マイクロソフトはLTS版として少なくとも6年間、つまりJava 17の場合は2027年9月までサポートする予定です。

J++とSunのJava実装の比較

J++はJava言語仕様に準拠していましたが、MicrosoftはVisual J++製品ラインにSunの公式Java実装の一部機能を実装していませんでした。リモートメソッド呼び出し(Java RMI)やJavaネイティブインターフェース(JNI)などがその例です。[4] [5]

さらに、J++はSunのJava実装には含まれていない拡張機能も実装しました。イベント処理のためのコールバックデリゲートの組み込みは、J++を既存の設計コンセプトに基づいた全く異なる言語としてさらに明確にしました。

さらに、J++アプリケーションは、 SunのJava SDKに基づく他のJavaアプリケーションと同様に、基盤となるオペレーティングシステム機能へのアクセスにおいて標準化された方法に準拠していませんでした。Microsoftの実装では J /Directと呼ばれる基盤フレームワークが、J++アプリケーションが基盤となるオペレーティングシステムにアクセスする際にJavaのクラスライブラリAPIを完全に回避することを可能にする基本メカニズムを提供していました。このオリジナルのJavaフレームワークを迂回するショートカットにより、J++アプリケーションはJavaアプリケーションよりもWin32 API機能を効率的に利用できました

これらの機能を使用するJ++アプリケーションはSunのJava SDKでは実行できませんでしたが、Kaffeプロジェクトは、オープンソースのJVM上でこれらの機能を備えたJ++アプリケーションを実行できるようにする拡張機能を開発しました。しかし、これらの拡張機能(Microsoftの資金提供を受けてTransVirtualによって実装)は広く普及せず、J++アプリケーションをKaffeで実行できるようにするには、Visual J++でコンパイルする必要がありました。[6] [7]

Visual J++はActiveXをサポートした。[8]

Visual J++の例をいくつか示します。[9]

Windows フォームの使用:

パッケージorg.wikipedia.examples ; 

com.ms.ui.ActionEventをインポートします。com.ms.ui.ActionListenerをインポートします。com.ms.ui.Buttonインポートします。com.ms.ui.Formインポートします 
 
 
 

public class SimpleForm { public static void main ( String [] args ) { Form form = new Form ( "Simple Form" ); Button button = new Button (); button . setText ( "Click Me" ); button . addActionListener ( new ActionListener () { public void actionPerformed ( ActionEvent e ) { form . setText ( "Button Clicked!" ); } }); form . add ( button );   
         
            
        
            
        
        
          
                
                
            
        
        

        フォーム.show () ; } }
    

ActiveXの呼び出し:

パッケージorg.wikipedia.examples ; 

com.ms.activeX.ActiveXComponentをインポートします。com.ms.activeX.Variantインポートします 
 

パブリッククラスExample { public static void main ( String [] args ) { try { ActiveXComponent ax = new ActiveXComponent ( "InternetExplorer.Application" ); ax . setProperty ( "Visible" , new Variant ( true )); ax . invoke ( "Navigate" , new Variant ( "http://www.microsoft.com" )); } catch ( Exception e ) { e . printStackTrace (); } } }   
         
         
                
              
              
            
            
        
    

Windows API の呼び出し:

パッケージorg.wikipedia.examples ; 

com.ms.win32.RegistryKeyをインポートします。com.ms.win32.User32インポートします 
 

public class Example { public static void main ( String [] args ) { // メッセージ ボックスを生成しますUser32 user32 = new User32 (); user32 . MessageBox ( 0 , "Hello from Windows API!" , "Visual J++" , 0 );   
         
        
            
           

        // レジストリキーを読み取ります
。RegistryKey key = new RegistryKey ( "HKEY_LOCAL_MACHINE\\SOFTWARE\\Microsoft\\Windows\\CurrentVersion" ); String productName = key . getStringValue ( "ProductName" ); System . out . printf ( "Product Name: %s%n" , productName ); } }            
           
         
    

WFC

Windows Foundation Classes (WFC) は、Microsoft Win32プラットフォームAPIDHTMLオブジェクト モデルを統合クラス ライブラリにカプセル化しました。WFC は主に、 Windows 上の Java アプリケーション用の グラフィカル ユーザー インターフェイス (GUI)を作成するために設計されました。

サンによるマイクロソフトに対する訴訟

サン・マイクロシステムズは当初、マイクロソフトにJavaのライセンスを供与していましたが、後に商標権侵害を理由にマイクロソフトを提訴しました。サンのJavaブランド使用に関する商標ライセンスでは、すべての実装が「互換性」を持つことが求められています。

一部の観察者は、この非互換性はマイクロソフトが意図的にサンのJava技術の進歩を遅らせようとしたものだと主張している。[10] [11]

MSJVMがサンのコンプライアンステストに合格できなかったことが、当初の訴訟の大きな要因となった。2004年、この訴訟を含むサンとマイクロソフト間の未解決の訴訟はすべて、サンとマイクロソフト間の広範な合意の一環として和解した。[12]和解条項によると、マイクロソフトは、サンが(当時の)J++のミラーリング元となったバージョン以降のJavaバージョンに導入した機能をJ++に組み込むことはできず、Javaバージョン1.1.4の機能セットで凍結されることとなった。これによりJ++は事実上消滅し、それ以降のアップデートも停止された。マイクロソフトはまた、MSJVMの配布停止にも同意せざるを得なくなり、ダウンロードできなくなった。

しかし、和解条件により、マイクロソフトはセキュリティサポートを提供することが認められ、セキュリティホールやその他のセキュリティ脅威に関連する問題を修正するためのMSJVMのアップデートが継続されました。マイクロソフトは2007年12月31日をもって、MSJVMに対するこのようなサポートを終了しました。[13]

J++ のテクノロジは最終的にリサイクルされ、 Microsoft .NETプラットフォームとJ#プログラミング言語の一部としてしばらく存続しました

ビジュアルJ++ IDE

Visual J++ は J++ の統合開発環境(IDE)の名前でもあり、J++ プログラマがWin32 API を最大限に活用できるようにするための多くのツールとユーティリティを提供しました

Visual J++は現在配布されていませんが、Microsoft Visual Studio製品ラインの一部でした。Visual Studio 6.0が J++ を含む最後のリリースでした。

ビジュアルJ#

Visual J# (発音は「ジェイ・シャープ」)は、 .NET Frameworkの一部である Java に近い構文を持つMicrosoft言語です。Visual J# は Microsoft Visual Studio .NET 製品スイートの一部であり、開発者やプログラマが J++(または Java)から.NET Frameworkに移行できるように設計されています

その後、Microsoftは.NETプラットフォームの主要言語としてC# (「C Sharp」)言語を開発しました。これは多くの点でJavaの影響を受けており、.NET FrameworkはJavaと多くの共通点を持つようになりました。Javaと同様に、C#はバイトコード( CILと呼ばれる)にコンパイルされ、共通言語ランタイムと呼ばれる仮想マシン上で実行されます。.NET Visual Studio 2005は、J#が組み込まれた最後のリリースでした。

参考文献

  1. ^ ダン・ロジャース (1996 年 12 月 1 日)。 「マイクロソフトの Visual J++ 1.0」。ドブ博士の日記
  2. ^ Emigh, Jacqueline (2003年9月12日). 「MicrosoftのJ++は今すぐやめた方がいい」. InformIT .
  3. ^ 「OpenJDKのMicrosoftビルドの一般提供を発表」。Java at Microsoft . 2021年5月25日. 2021年8月3日閲覧
  4. ^ 「JFC; マイクロソフトが宣戦布告」 xent.com. 1997年8月1日. 2007年7月14日閲覧
  5. ^ McMillan, Robert (1997年7月1日). 「MicrosoftのJ/DirectはJavaの終焉を告げた」. JavaWorld . 2020年7月16日閲覧
  6. ^ 「TransvirtualがMicrosoft Java拡張機能を採用」linuxjournal.com. 1999年1月10日. 2007年8月1日閲覧
  7. ^ 「Java-Clone 発表」. slashdot.org. 1999年6月14日. 2007年8月1日閲覧
  8. ^ 「MS、Visual J++をデビュー」CNet、1996年10月1日。 2011年10月31日閲覧
  9. ^ Microsoft Corporation (1998). Microsoft Visual J++ 6.0 プログラマーズ・ガイド(第1版). Microsoft Press. ISBN 1572318694
  10. ^ Lohr, Steve (1998-05-25). 「Microsoftにとっての新たな敵」. New York Times . 2009-03-15閲覧. 1997年9月にP. Sridharanという名のMicrosoft関係者から送られた電子メールには、次のように記されている。「さあ、Java言語を盗もう。とはいえ、Microsoftがクロスプラットフォームで動作するJavaを開発するのにどれくらいの時間がかかるか、考えたことがあるだろうか? もちろん、そんなことは絶対にしないだろうが、SunのJavaを潰すためにどれだけの時間を費やせるか、ある程度の見当はつくだろう。」
  11. ^ 「Microsoft 反競争的行為と消費者被害の歴史」(PDF) .欧州相互運用システム委員会. 2009年3月31日. 2009年4月22日閲覧.私たちは静かにJ++のシェアを拡大​​し、人々がWin32専用のJavaアプリを構築していることに気づかずに、私たちのクラスをより活用してくれると想定するべきです。
  12. ^ 「サン、マイクロソフトとの和解、レイオフを発表」www.news.com、2004年4月2日。 2007年10月3日閲覧
  13. ^ 「Microsoft Java仮想マシンのサポート」Microsoft、2007年3月2日。 2007年10月9日閲覧
  • Visual J++ の製品機能 – エディション別
  • マイクロソフトビジュアルJ#
  • Microsoft Java Web サイト
  • サンとマイクロソフトの契約
「https://en.wikipedia.org/w/index.php?title=Visual_J%2B%2B&oldid=1318054460」より取得