メインメニューを開く

「Write Once, Run Anywhere」を編集中

警告: ログインしていません。編集を行うと、あなたの IP アドレスが公開されます。ログインまたはアカウントを作成すれば、あなたの編集はその利用者名とともに表示されるほか、その他の利点もあります。

この編集を取り消せます。 下記の差分を確認して、本当に取り消していいか検証してください。よろしければ変更を保存して取り消しを完了してください。

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

MonoBookへの投稿はすべて、他の投稿者によって編集、変更、除去される場合があります。 自分が書いたものが他の人に容赦なく編集されるのを望まない場合は、ここに投稿しないでください。
また、投稿するのは、自分で書いたものか、パブリック ドメインまたはそれに類するフリーな資料からの複製であることを約束してください(詳細はMonoBook:著作権を参照)。 著作権保護されている作品は、許諾なしに投稿しないでください!

このページを編集するには、下記の確認用の質問に回答してください (詳細):

取り消し 編集の仕方 (新しいウィンドウで開きます)

このページで使用されているテンプレート:

このページは 1 個の隠しカテゴリに属しています: