メインメニューを開く

差分

Write Once, Run Anywhere

640 バイト追加, 2013年10月1日 (火) 11:13
編集の要約なし
'''Write Once, Run Anywhere'''とは、(読み:らいとわんす・らんえにーうぇあ)とは、[[Java]]で書かれた[[プログラム]]は[[OS]]や[[デバイス]]などのプラットフォームに依存しない、ということを意味する[[Java]]公式スローガン、いわゆる掟である。
== 概要 ==
== 問題 ==
実際問題として、純正の実際問題として[[Oracle]]純正の[[JRE]]・[[Java仮想マシン]]であってもプラットフォームごとの互換性は微妙である。であっても[[プラットフォーム]]ごとの[[互換性]]は微妙である。たとえばJava標準の画像関連API群である[[Java Advanced Imaging API]](通称[[JAI]])の[[JPEG]]関連の[[コーデック]]は[[Mac OS X]]でまったく動かず、今やそこら中に転がっている[[JPEG]]ひとつ扱うのも一苦労するという。なお、このJAI問題はJavaの仕様書から消えたが実は使える古いAPIを密かに使用して回避している[[プログラマー]]が多い。
また、[[クロスプラットフォーム]]では、全てのプラットフォームの「最大公約数」の機能しか持ち合わせないことになるため、プラットフォームの特性や特徴を活かしきることができないという問題を抱えている。この問題点の指摘はでは、全てのプラットフォームの「[[最大公約数]]」の機能しか持ち合わせないことになるため、プラットフォームの特性や特徴を活かしきることができないという問題を抱えている。この問題点の指摘は[[アップル]]と[[アドビ]]が[[Flash]]を巡る論争から飛び火してきたものである。
=== Windows問題 ===
[[マイクロソフト]]が[[Java]]から[[ネイティブコード]]を呼び出せるように改造したとして、この品質チェックに不合格となった。を呼び出せるように改造したとして、この品質チェックに不合格となった。不合格になったにも関わらず、[[マイクロソフト]]は[[Java仮想マシン]]を[[Windows]]に同梱配布したとして裁判所に訴えられた話は有名である。そして[[Windows]]から[[Java]]が消え去った。
また不合格の[[Java仮想マシン]]を[[Windows]]に同梱配布したとして訴えられた話は有名である。そして[[Windows]]から[[Java]]が消え去った。 ちなみに[[マイクロソフト]]が実装したこの機能と同様なものが欲しいという要望が殺到したのか知らないが、後に[[Java Native Interface]]として公式に再実装されている。と名前を変えて公式に再実装されている。
=== Mac問題 ===
[[アップル]]が純正[[Java]]にはない文字列描画時の[[アンチエイリアス]]を搭載し、純正[[Java]]よりも綺麗に文字列描画を行うように改造したとして、この品質チェックに不合格となった。そして[[Mac OS X]]から[[Java]]が消え去った。
 
<ref>http://japan.zdnet.com/os/analysis/20421920/</ref>
このWrite Once, Run Anywhereという厳しい掟だが、[[Sun]]は[[Google]]の[[Android]]にのみ特例を認めていた。
[[グーグル]]という会社は、[[サン]]の創業者の一人である[[アンディ・ベクトルシャイム]]が自身の出身大学であるスタンフォード大学の学生2人に出資して設立された会社であり、いわば[[サン]]の子供のような存在であったため、下っ端社員レベルでは口出しできなかったためと言われているの子供のような存在であったため、下っ端社員レベルでは口出しできなかったと言われている<ref>http://www.itmedia.co.jp/news/articles/1205/01/news032.html</ref>。
後に[[オラクル]]が[[サン]]を買収したことで、この特例が認められなくなり訴訟となった。
 
そして互換性問題だけが残った。
== [[インスパイヤ]] ==
匿名利用者