Write once, run anywhere
Write once, run anywhere (WORA), or sometimes Write once, run everywhere (WORE), was a 1995 slogan created by Sun Microsystems to illustrate the cross-platform benefits of the Java language. Ideally, this meant that a Java program could be developed on any device, compiled into standard bytecode, and be expected to run on any device equipped with a Java virtual machine (JVM). The installation of a JVM or Java interpreter on chips, devices, or software packages became an industry standard practice.
A programmer could develop code on a PC and expect it to run on Java-enabled mobile phones, as well as on routers and mainframes equipped with Java, without any adjustments. This was intended to save software developers the effort of writing a different version of their software for each platform or operating system they intend to deploy on.
This idea originated as early as in the late 1970s, when the UCSD Pascal system was developed to produce and interpret p-code. UCSD Pascal (along with the Smalltalk virtual machine) was a key influence on the design of the JVM, as is cited by James Gosling.
The catch is that since there are multiple JVM implementations, on top of a wide variety of different operating systems, there could be subtle differences in how a program executes on each JVM/OS combination, possibly requiring an application to be tested on each target platform. This gave rise to a joke among Java developers: Write Once, Debug Everywhere.
Like Squeak, MicroEJ provides a virtual execution environment which guarantees one unique Java thread policy across all implementations, ensuring a true WORA semantic across millions of devices.
- Criticisms of cross-platform development and this slogan
- Software portability
- Write once, compile anywhere
- Parrot virtual machine
- Criticism of Java
- Write once, run forever
- Universal Windows Platform
- "JavaSoft ships Java 1.0". Sun Microsystems. 1996-01-23.
Java's write-once-run-everywhere capability along with its easy accessibility have propelled the software and Internet communities to embrace it as the de facto standard for writing applications for complex networksMissing or empty
- "Write once, run anywhere?". Computer Weekly. 2002-05-02. Retrieved 2009-07-27. CS1 maint: discouraged parameter (link)
- Wong, William (2002-05-27). "Write Once, Debug Everywhere". electronicdesign.com. Retrieved 2013-02-04.
So far, the "Write-once, run-everywhere" promise of Java hasn't come true. The bulk of a Java application will migrate between most Java implementations, but taking advantage of a VM-specific feature causes porting problems.CS1 maint: discouraged parameter (link)
- "Welcome To Squeak". Squeak. Retrieved 5 May 2015. CS1 maint: discouraged parameter (link)
- "Back to the Future The Story of Squeak, A Practical Smalltalk Written in Itself". Dan Ingalls Ted Kaehler John Maloney Scott Wallace Alan Kay. Retrieved 5 May 2015. CS1 maint: discouraged parameter (link)