Write once, run anywhereWORA、「一度〔プログラムを〕書けば、どこでも実行できる」)または Write once, run everywhere (WORE) とは、Javaのプログラムがオペレーティングシステム (OS) などのプラットフォームに依存しないという意味の、サン・マイクロシステムズのJavaのスローガンである。

概要

Javaで記述されたソフトウェアは多くのシステムの上で開発・コンパイルでき、同一のバイトコードを得ることができる。そのバイトコードはJava仮想マシン(JVM)を持つ全てのシステムで動作する。Microsoft Windows、Mac OS、Linux、Solaris、FreeBSD、AIX、NetWare、HP-UX、OS/2などで動く。

JVMはチップやデバイスにも組み込まれている。これは、パーソナルコンピュータ (PC) で開発したコードが何らの調整なしに、Java実行環境を持つ携帯電話やルータやメインフレームで動くということである。そこで「一度書いてしまえば、どこでも走る」のである。プラットフォームやオペレーティングシステム (OS) 毎に違う版のプログラムを書く必要がなくなり、また、Javaが提供する抽象化されたレイヤの方が便利であるため、開発者の負担が減る。

批判

しかし、WORAは完全なレベルまで実現されたわけではなく、現実には、移植の手間が大きく減ったというレベルにとどまっていた。

Java開発者は次のようなジョークを飛ばすことがあった: 「<一度書いてしまえば、どこでも実行できる>というのは、実際には<一度書いてしまっても、そこら中でデバッグしなければいけない (Write once, debug everywhere) >という意味なのさ」

これは初期のJavaでは例えばファイルのパーミッション取得など不足している機能が多くネイティブライブラリの呼び出しが必要になることが多かったためである。また当初はデスクトップアプリケーションでの利用が多く、OSのGUIがもつ機能を十分に利用できていなかった。

しかし、Java 7でjava.nio.Filesによってファイルの細かな操作が可能になるなど機能が充実し、また利用が主にサーバサイドになってきたことから、問題になることは少なくなっている。

関連項目

  • Javaコンパイラ
  • Write once, compile anywhere

Wora Write Once Run Anywhere Acronym Stock Vector (Royalty Free

Wora Write Once Run Anywhere Acronym Stock Vector (Royalty Free

Java Write once, run anywhere (Escreva uma vez, rode em qualquer lugar).

39 Write Once Run Anywhere Images, Stock Photos, 3D objects, & Vectors

39 Write Once Run Anywhere Images, Stock Photos, 3D objects, & Vectors