一次編寫,到處執行
外觀
「一次編寫,到處執行」(Write once, run anywhere、WORA,有時也作「write once, run everywhere」、WORE)是昇陽電腦用來展示Java程式語言的跨平台特性的口號[1][2]。在理想中,這意味著Java可以在任何裝置上開發,然後編譯成一段標準的位元組碼,就可以在任何安裝有Java虛擬機器(JVM)的裝置上執行。在晶片、裝置和軟體套件中安裝Java已經成為一種工業實踐的標準。
它意味著開發者可以在一台PC上進行Java開發,並能在安裝有Java的手機、路由器、大型電腦上執行其代碼而無需經過調整。這將使開發者能更容易地在不同的平台或作業系統上部署軟體,而不必開發不同的版本來面向不同平台。
該想法可以追溯到20世紀70年代,UCSD Pascal系統在p-code上開發、執行。James Gosling提到UCSD Pascal(以及Smalltalk虛擬機器)對Java虛擬機器的設計有關鍵性的影響[來源請求]。
美中不足的是,Java虛擬機器在各種作業系統(Windows、Linux、Solaris、NetWare、HP-UX以及Mac OS)上有多種不同的實現,導致Java程式在不同的JVM虛擬機器和作業系統上執行時有微妙的差別,所以一種應用可能需要在許多平台上進行測試才能確保正確性和穩定性,這造就了一個程式設計師間的笑話:「一次編譯,到處除錯」(「Write Once, Debug Everywhere」)。[3]
參照
[編輯]- ^ 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 networks
- ^ Write once, run anywhere?. Computer Weekly. 2002-05-02 [2009-07-27]. (原始內容存檔於2021-08-13).
- ^ Wong, William. Write Once, Debug Everywhere. electronicdesign.com. 2002-05-27 [2013-02-04]. (原始內容存檔於2019-04-03).
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.