Write once, run anywhere

出典しゅってん: フリー百科ひゃっか事典じてん『ウィキペディア(Wikipedia)』

Write once, run anywhereWORAいち〔プログラムを〕けば、どこでも実行じっこうできる」[よう出典しゅってん])または Write once, run everywhere (WORE) とは、Javaプログラムオペレーティングシステム (OS) などのプラットフォーム依存いぞんしないという意味いみの、サン・マイクロシステムズJavaスローガンである。

概要がいよう[編集へんしゅう]

Java記述きじゅつされたソフトウェアおおくのシステムのうえ開発かいはつ・コンパイルでき、同一どういつバイトコードることができる。そのバイトコードはJava仮想かそうマシン(JVM)をすべてのシステムで動作どうさする。Microsoft WindowsMac OSLinuxSolarisFreeBSDAIXNetWareHP-UXOS/2などでうごく。

JVMはチップやデバイスにもまれている。これは、パーソナルコンピュータ (PC) で開発かいはつしたコードがなんらの調整ちょうせいなしに、Java実行じっこう環境かんきょう携帯けいたい電話でんわルータメインフレームうごくということである。そこで「いちいてしまえば、どこでもはしる」のである。プラットフォームオペレーティングシステム (OS) ごとちがはんのプログラムを必要ひつようがなくなり、また、Javaが提供ていきょうする抽象ちゅうしょうされたレイヤのほう便利べんりであるため、開発かいはつしゃ負担ふたんる。

批判ひはん[編集へんしゅう]

しかし、WORAは完全かんぜんなレベルまで実現じつげんされたわけではなく、現実げんじつには、移植いしょく手間てまおおきくったというレベルにとどまっていた。

Java開発かいはつしゃつぎのようなジョークをばすことがあった[だれ?]: 「<いちいてしまえば、どこでも実行じっこうできる>というのは、実際じっさいには<いちいてしまっても、そこらなかでデバッグしなければいけない (Write once, debug everywhere) >という意味いみなのさ」[よう出典しゅってん]

これは初期しょきのJavaではたとえばファイルのパーミッション取得しゅとくなど不足ふそくしている機能きのうおおくネイティブライブラリのしが必要ひつようになることがおおかったためである。また当初とうしょはデスクトップアプリケーションでの利用りようおおく、OSのGUIがもつ機能きのう十分じゅうぶん利用りようできていなかった。

しかし、Java 7でjava.nio.Filesによってファイルのこまかな操作そうさ可能かのうになるなど機能きのう充実じゅうじつし、また利用りようおもにサーバサイドになってきたことから、問題もんだいになることはすくなくなっている。

関連かんれん項目こうもく[編集へんしゅう]