Write once, run anywhere
出典: フリー百科事典『ウィキペディア(Wikipedia)』 (2022/11/01 04:44 UTC 版)
Write once, run anywhere(WORA、「一度〔プログラムを〕書けば、どこでも実行できる」[要出典])または 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によってファイルの細かな操作が可能になるなど機能が充実し、また利用が主にサーバサイドになってきたことから、問題になることは少なくなっている。
関連項目
「Write once, run anywhere」の例文・使い方・用例・文例
- (動詞(例えば、『to run』)や分詞形容詞(例えば、『running water』における『running』)について使用され)存在のありさまよりもむしろ行動を表しているさま
- 『running water(湯と冷水の流水)』における『running(流)』のような動詞的形容詞
- Brunch「ブランチ」はよく知られた2つを合わせたものである
- 『I had been running』は、過去進行形の例である
- 『I will be running(私は走っているだろう)』は未来進行の例である
- Write Once, Run Anywhereのページへのリンク