write once, run anywhere
{{Short description|Slogan for the Java Platform}}
Write once, run anywhere (WORA), or sometimes Write once, run everywhere (WORE), was a 1995{{Cite web |title=Write once, run anywhere? |url=https://www.computerweekly.com/feature/Write-once-run-anywhere |access-date=2022-10-05 |website=ComputerWeekly.com |language=en}} slogan created by Sun Microsystems to illustrate the cross-platform benefits of the Java programming language.{{cite web
| url=http://www.sun.com/smi/Press/sunflash/1996-01/sunflash.960123.10561.xml
| archive-url=https://web.archive.org/web/20070310235103/http://www.sun.com/smi/Press/sunflash/1996-01/sunflash.960123.10561.xml
| archive-date=2007-03-10
| title=JavaSoft ships Java 1.0
| publisher=Sun Microsystems
| quote=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
| date=1996-01-23
| url=http://www.computerweekly.com/Articles/2002/05/02/186793/write-once-run-anywhere.htm
| title=Write once, run anywhere?
| date=2002-05-02
| publisher=Computer Weekly
| accessdate=2009-07-27}} 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.
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.{{cite web
| url=http://electronicdesign.com/embedded/write-once-debug-everywhere
| title=Write Once, Debug Everywhere
| publisher=electronicdesign.com
| last=Wong|first=William
| quote=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.
| date=2002-05-27
| accessdate=2013-02-04}}
In comparison, the Squeak Smalltalk programming language and environment boasts of being truly write once, run anywhere,{{cite web|title=Welcome To Squeak|url=http://www.squeak.org|website=Squeak|accessdate=5 May 2015}} because it runs bit-identical images across its wide portability base.{{cite web|title=Back to the Future The Story of Squeak, A Practical Smalltalk Written in Itself|url=http://ftp.squeak.org/docs/OOPSLA.Squeak.html|publisher=Dan Ingalls Ted Kaehler John Maloney Scott Wallace Alan Kay|accessdate=5 May 2015}}
See also
- {{Section link|Cross-platform software|Challenges}}
- Software portability
- Write once, compile anywhere
- Free Pascal
- Parrot virtual machine
- Criticism of Java
- Write once, run forever
- Universal Windows Platform
References
{{reflist|30em}}
{{Sun Microsystems}}
{{DEFAULTSORT:Write Once, Run Anywhere}}
Category:Software engineering folklore
Category:American advertising slogans