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

}}{{cite web

| 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

References