Knowledge

Write once, run anywhere

Source 📝

800: 103:
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
275:
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
224:
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
115:
Smalltalk programming language and environment boasts of being truly write once run anywhere, because it runs bit-identical images across its wide portability base.
73:
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
370: 215: 1062: 352: 54:(JVM). The installation of a JVM or Java interpreter on chips, devices, or software packages became an industry standard practice. 1266: 1251: 1256: 135: 1107: 237: 167: 96:. UCSD Pascal (along with the Smalltalk virtual machine) was a key influence on the design of the JVM, as is cited by 1016: 345: 1097: 1037: 898: 145: 219: 1271: 1216: 824: 43: 934: 172: 1281: 1261: 1232: 338: 1276: 980: 975: 878: 765: 263: 46:. Ideally, this meant that a Java program could be developed on any device, compiled into standard 873: 780: 547: 191: 1067: 785: 755: 157: 1021: 939: 126:
policy across all implementations, ensuring a true WORA semantic across millions of devices.
990: 594: 535: 140: 51: 8: 868: 836: 799: 985: 123: 74: 70: 66: 1185: 1165: 1120: 162: 58: 1200: 1170: 1150: 944: 709: 584: 456: 451: 361: 78: 35: 1155: 893: 466: 461: 446: 441: 314:"Back to the Future The Story of Squeak, A Practical Smalltalk Written in Itself" 241: 313: 1077: 819: 770: 666: 577: 572: 530: 436: 431: 426: 421: 93: 39: 1245: 1125: 689: 684: 679: 650: 567: 97: 1130: 750: 562: 557: 473: 416: 62: 1082: 1006: 863: 760: 604: 589: 150: 122:
provides a virtual execution environment that guarantees one unique Java
89: 85: 1195: 954: 918: 883: 841: 645: 640: 635: 609: 503: 498: 1087: 970: 913: 740: 542: 483: 478: 1175: 1160: 1115: 1072: 1011: 775: 745: 704: 699: 694: 552: 523: 518: 513: 508: 330: 47: 1092: 908: 888: 853: 630: 599: 493: 488: 406: 119: 1190: 112: 1042: 903: 846: 829: 814: 730: 625: 411: 401: 396: 391: 316:. Dan Ingalls Ted Kaehler John Maloney Scott Wallace Alan Kay 1180: 858: 735: 714: 949: 288: 136:
Criticisms of cross-platform development and this slogan
84:
This idea originated no later than the 1960s, with the
50:, and be expected to run on any device equipped with a 1243: 218:. Sun Microsystems. 1996-01-23. Archived from 92:system was developed to produce and interpret 346: 1063:Common Development and Distribution License 798: 353: 339: 1244: 334: 61:and expect it to run on Java-enabled 57:A programmer could develop code on a 360: 261: 13: 14: 1293: 34:), was a 1995 slogan created by 306: 281: 264:"Write Once, Debug Everywhere" 255: 230: 208: 184: 1: 1267:Computer programming folklore 1252:Software engineering folklore 1098:Open Source University Meetup 1007:Sun Microsystems Laboratories 178: 1257:American advertising slogans 262:Wong, William (2002-05-27). 146:Write once, compile anywhere 106:Write Once, Debug Everywhere 104:joke among Java developers: 88:, and in the late 1970s the 16:Slogan for the Java Platform 7: 1217:The Network is the Computer 238:"Write once, run anywhere?" 192:"Write once, run anywhere?" 129: 10: 1298: 417:SPARCstation/server/center 173:Universal Windows Platform 81:they intend to deploy on. 28:Write once, run everywhere 1230: 1209: 1143: 1106: 1058: 1051: 1030: 999: 963: 927: 899:Sun Secure Global Desktop 807: 796: 723: 618: 384: 377: 368: 216:"JavaSoft ships Java 1.0" 1222:Write once, run anywhere 766:System Service Processor 20:Write once, run anywhere 781:Ultra Port Architecture 168:Write once, run forever 1068:Java Community Process 935:StorageTek 5800 System 786:Visual Instruction Set 266:. electronicdesign.com 158:Parrot virtual machine 1022:Project Looking Glass 981:Visualization System 976:Constellation System 141:Software portability 52:Java virtual machine 869:Java Desktop System 289:"Welcome To Squeak" 111:In comparison, the 1272:Computing acronyms 756:Modular Datacenter 371:Acquired by Oracle 196:ComputerWeekly.com 38:to illustrate the 1239: 1238: 1186:Procom Technology 1166:Lighthouse Design 1139: 1138: 1121:Andy Bechtolsheim 940:StorageTek SL8500 794: 793: 671:UltraSPARC III Cu 548:Blade workstation 163:Criticism of Java 1289: 1282:Interoperability 1262:Sun Microsystems 1171:Montalvo Systems 1151:Afara Websystems 1056: 1055: 802: 595:Java Workstation 585:SPARC Enterprise 382: 381: 362:Sun Microsystems 355: 348: 341: 332: 331: 326: 325: 323: 321: 310: 304: 303: 301: 299: 285: 279: 278: 272: 271: 259: 253: 252: 250: 249: 234: 228: 227: 212: 206: 205: 203: 202: 188: 79:operating system 65:, as well as on 42:benefits of the 36:Sun Microsystems 26:), or sometimes 1297: 1296: 1292: 1291: 1290: 1288: 1287: 1286: 1277:1995 quotations 1242: 1241: 1240: 1235: 1226: 1205: 1156:Cobalt Networks 1135: 1102: 1047: 1026: 995: 959: 923: 803: 790: 719: 674:UltraSPARC IIIi 614: 373: 364: 359: 329: 319: 317: 312: 311: 307: 297: 295: 287: 286: 282: 269: 267: 260: 256: 247: 245: 242:Computer Weekly 236: 235: 231: 222:on 2007-03-10. 214: 213: 209: 200: 198: 190: 189: 185: 181: 132: 17: 12: 11: 5: 1295: 1285: 1284: 1279: 1274: 1269: 1264: 1259: 1254: 1237: 1236: 1231: 1228: 1227: 1225: 1224: 1219: 1213: 1211: 1207: 1206: 1204: 1203: 1198: 1193: 1188: 1183: 1178: 1173: 1168: 1163: 1158: 1153: 1147: 1145: 1141: 1140: 1137: 1136: 1134: 1133: 1128: 1123: 1118: 1112: 1110: 1104: 1103: 1101: 1100: 1095: 1090: 1085: 1080: 1078:OpenOffice.org 1075: 1070: 1065: 1059: 1053: 1049: 1048: 1046: 1045: 1040: 1034: 1032: 1028: 1027: 1025: 1024: 1019: 1014: 1009: 1003: 1001: 997: 996: 994: 993: 988: 983: 978: 973: 967: 965: 961: 960: 958: 957: 952: 947: 942: 937: 931: 929: 925: 924: 922: 921: 916: 911: 906: 901: 896: 891: 886: 881: 876: 871: 866: 861: 856: 851: 850: 849: 839: 834: 833: 832: 822: 817: 811: 809: 805: 804: 797: 795: 792: 791: 789: 788: 783: 778: 773: 771:SPARC T series 768: 763: 758: 753: 748: 743: 738: 733: 727: 725: 721: 720: 718: 717: 712: 707: 702: 697: 692: 687: 682: 677: 676: 675: 672: 667:UltraSPARC III 664: 663: 662: 659: 658:UltraSPARC IIi 656: 655:UltraSPARC IIe 648: 643: 638: 633: 628: 622: 620: 616: 615: 613: 612: 607: 602: 597: 592: 587: 582: 581: 580: 575: 570: 565: 560: 550: 545: 540: 539: 538: 528: 527: 526: 521: 516: 511: 506: 501: 496: 491: 481: 476: 471: 470: 469: 464: 459: 454: 449: 444: 439: 434: 429: 424: 414: 409: 404: 399: 394: 388: 386: 379: 375: 374: 369: 366: 365: 358: 357: 350: 343: 335: 328: 327: 305: 280: 254: 229: 207: 182: 180: 177: 176: 175: 170: 165: 160: 155: 154: 153: 143: 138: 131: 128: 40:cross-platform 15: 9: 6: 4: 3: 2: 1294: 1283: 1280: 1278: 1275: 1273: 1270: 1268: 1265: 1263: 1260: 1258: 1255: 1253: 1250: 1249: 1247: 1234: 1229: 1223: 1220: 1218: 1215: 1214: 1212: 1208: 1202: 1199: 1197: 1194: 1192: 1189: 1187: 1184: 1182: 1179: 1177: 1174: 1172: 1169: 1167: 1164: 1162: 1159: 1157: 1154: 1152: 1149: 1148: 1146: 1142: 1132: 1129: 1127: 1126:Scott McNealy 1124: 1122: 1119: 1117: 1114: 1113: 1111: 1109: 1105: 1099: 1096: 1094: 1091: 1089: 1086: 1084: 1081: 1079: 1076: 1074: 1071: 1069: 1066: 1064: 1061: 1060: 1057: 1054: 1050: 1044: 1041: 1039: 1036: 1035: 1033: 1029: 1023: 1020: 1018: 1015: 1013: 1010: 1008: 1005: 1004: 1002: 998: 992: 989: 987: 984: 982: 979: 977: 974: 972: 969: 968: 966: 962: 956: 953: 951: 948: 946: 943: 941: 938: 936: 933: 932: 930: 926: 920: 917: 915: 912: 910: 907: 905: 902: 900: 897: 895: 892: 890: 887: 885: 882: 880: 877: 875: 872: 870: 867: 865: 862: 860: 857: 855: 852: 848: 845: 844: 843: 840: 838: 835: 831: 828: 827: 826: 823: 821: 818: 816: 813: 812: 810: 806: 801: 787: 784: 782: 779: 777: 774: 772: 769: 767: 764: 762: 759: 757: 754: 752: 749: 747: 744: 742: 739: 737: 734: 732: 729: 728: 726: 722: 716: 713: 711: 708: 706: 703: 701: 698: 696: 693: 691: 690:UltraSPARC T2 688: 686: 685:UltraSPARC T1 683: 681: 680:UltraSPARC IV 678: 673: 670: 669: 668: 665: 660: 657: 654: 653: 652: 651:UltraSPARC II 649: 647: 644: 642: 639: 637: 634: 632: 629: 627: 624: 623: 621: 617: 611: 608: 606: 603: 601: 598: 596: 593: 591: 588: 586: 583: 579: 576: 574: 571: 569: 566: 564: 561: 559: 556: 555: 554: 551: 549: 546: 544: 541: 537: 534: 533: 532: 529: 525: 522: 520: 517: 515: 512: 510: 507: 505: 502: 500: 497: 495: 492: 490: 487: 486: 485: 482: 480: 477: 475: 472: 468: 465: 463: 460: 458: 455: 453: 450: 448: 445: 443: 440: 438: 435: 433: 430: 428: 425: 423: 420: 419: 418: 415: 413: 410: 408: 405: 403: 400: 398: 395: 393: 390: 389: 387: 383: 380: 376: 372: 367: 363: 356: 351: 349: 344: 342: 337: 336: 333: 315: 309: 294: 290: 284: 277: 265: 258: 243: 239: 233: 226: 221: 217: 211: 197: 193: 187: 183: 174: 171: 169: 166: 164: 161: 159: 156: 152: 149: 148: 147: 144: 142: 139: 137: 134: 133: 127: 125: 121: 118:Like Squeak, 116: 114: 109: 107: 101: 99: 98:James Gosling 95: 91: 87: 82: 80: 76: 72: 68: 64: 63:mobile phones 60: 55: 53: 49: 45: 44:Java language 41: 37: 33: 29: 25: 21: 1221: 1144:Acquisitions 1131:Vinod Khosla 945:Open Storage 543:Blade server 474:SPARCclassic 318:. Retrieved 308: 296:. Retrieved 292: 283: 274: 268:. Retrieved 257: 246:. Retrieved 244:. 2002-05-02 232: 223: 220:the original 210: 199:. Retrieved 195: 186: 117: 110: 105: 102: 83: 56: 31: 27: 23: 19: 18: 1083:OpenSolaris 986:Grid Engine 964:Performance 894:Java System 864:OpenWindows 605:Cobalt Qube 590:JavaStation 151:Free Pascal 90:UCSD Pascal 86:IBM M44/44X 1246:Categories 1201:Tarantella 1196:StorageTek 919:VirtualBox 884:StarOffice 646:UltraSPARC 641:SuperSPARC 636:microSPARC 619:Processors 610:Cobalt RaQ 531:Enterprise 270:2013-02-04 248:2009-07-27 201:2022-10-05 179:References 71:mainframes 1088:OpenSPARC 1052:Community 1031:Education 914:GlassFish 741:Fireplane 276:problems. 1233:Category 1176:MySQL AB 1161:Gridware 1116:Bill Joy 1073:NetBeans 1017:Fortress 1012:picoJava 1000:Research 808:Software 746:LOM port 705:SPARC T5 700:SPARC T4 695:SPARC T3 378:Hardware 225:networks 130:See also 75:platform 48:bytecode 1210:Slogans 1093:OpenJDK 928:Storage 889:iPlanet 854:SunView 820:Solaris 761:Neptune 631:MB86900 407:Sun386i 385:Systems 120:MicroEJ 67:routers 1191:SavaJe 1108:People 991:Lustre 874:Studio 661:Gemini 293:Squeak 124:thread 113:Squeak 94:p-code 1043:BlueJ 971:Cloud 904:MySQL 815:SunOS 731:Sun4d 724:Other 626:SPARC 578:X4500 573:T2000 536:10000 484:Ultra 479:Netra 412:Sun-4 402:Sun-3 397:Sun-2 392:Sun-1 320:5 May 298:5 May 1181:Pixo 1038:SCPs 879:Java 859:NeWS 847:ZFS+ 830:NIS+ 776:SPOT 751:MBus 736:SBus 715:MAJC 710:Rock 568:E25K 553:Fire 322:2015 300:2015 69:and 32:WORE 24:WORA 955:ZFS 950:QFS 909:xVM 842:ZFS 837:NFS 825:NIS 600:Ray 563:15K 558:12K 457:IPX 452:IPC 77:or 1248:: 524:80 519:60 514:30 509:24 504:10 467:ZX 462:LX 447:20 442:10 291:. 273:. 240:. 194:. 108:. 100:. 59:PC 499:5 494:2 489:1 437:5 432:4 427:2 422:1 354:e 347:t 340:v 324:. 302:. 251:. 204:. 30:( 22:(

Index

Sun Microsystems
cross-platform
Java language
bytecode
Java virtual machine
PC
mobile phones
routers
mainframes
platform
operating system
IBM M44/44X
UCSD Pascal
p-code
James Gosling
Squeak
MicroEJ
thread
Criticisms of cross-platform development and this slogan
Software portability
Write once, compile anywhere
Free Pascal
Parrot virtual machine
Criticism of Java
Write once, run forever
Universal Windows Platform
"Write once, run anywhere?"
"JavaSoft ships Java 1.0"
the original
"Write once, run anywhere?"

Text is available under the Creative Commons Attribution-ShareAlike License. Additional terms may apply.