Write once, run anywhere (WORA), or sometimes Write once, run everywhere (WORE), was a 1995[1] slogan created by Sun Microsystems to illustrate the cross-platform benefits of the Java language.[2][3] 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 no later than the 1960s, with the IBM M44/44X, and in the late 1970s 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.[citation needed]
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.[4]
In comparison, the Squeak Smalltalk programming language and environment boasts of being truly write once run anywhere,[5] because it runs bit-identical images across its wide portability base.[6]
Like Squeak, MicroEJ provides a virtual execution environment that guarantees one unique Java thread policy across all implementations, ensuring a true WORA semantic across millions of devices.
See also
editReferences
edit- ^ "Write once, run anywhere?". ComputerWeekly.com. Retrieved 2022-10-05.
- ^ "JavaSoft ships Java 1.0". Sun Microsystems. 1996-01-23. Archived from the original on 2007-03-10.
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 networks
- ^ "Write once, run anywhere?". Computer Weekly. 2002-05-02. Retrieved 2009-07-27.
- ^ 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.
- ^ "Welcome To Squeak". Squeak. Retrieved 5 May 2015.
- ^ "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.