Einmal schreiben, überall laufen - Write once, run anywhere
Einmal schreiben, überall ausführen (WORA) oder manchmal einmal schreiben, überall ausführen (WORE) war ein Slogan von 1995, der von Sun Microsystems erstellt wurde , um die plattformübergreifenden Vorteile der Sprache Java zu veranschaulichen . Im Idealfall bedeutet dies, dass ein Java-Programm auf jedem Gerät entwickelt, in Standard- Bytecode kompiliert und auf jedem Gerät ausgeführt werden kann, das mit einer Java Virtual Machine (JVM) ausgestattet ist. Die Installation eines JVM- oder Java-Interpreters auf Chips, Geräten oder Softwarepaketen wurde zum Industriestandard.
Ein Programmierer könnte Code auf einem PC entwickeln und erwarten, dass dieser auf Java-fähigen Mobiltelefonen sowie auf mit Java ausgestatteten Routern und Mainframes ohne Anpassungen läuft . Dies sollte Softwareentwicklern den Aufwand ersparen, eine andere Version ihrer Software für jede Plattform oder jedes Betriebssystem zu schreiben , auf dem sie bereitstellen möchten.
Diese Idee entstand spätestens in den 1960er Jahren mit dem IBM M44/44X und Ende der 1970er Jahre wurde das UCSD Pascal- System entwickelt, um p-Code zu erzeugen und zu interpretieren . UCSD Pascal hatte (zusammen mit der virtuellen Smalltalk-Maschine) einen entscheidenden Einfluss auf das Design der JVM, wie James Gosling zitiert .
Der Haken daran ist, dass es neben einer Vielzahl unterschiedlicher Betriebssysteme auch mehrere JVM-Implementierungen gibt . Dies führte zu einem Witz unter Java-Entwicklern: Write Once, Debug Everywhere .
Im Vergleich dazu rühmt sich die Squeak Smalltalk-Programmiersprache und -Umgebung, dass sie wirklich einmal überall ausgeführt werden kann, da sie bitidentische Images über ihre breite Portabilitätsbasis hinweg ausführt.
Wie Squeak bietet MicroEJ eine virtuelle Ausführungsumgebung, die eine einzigartige Java- Thread- Richtlinie für alle Implementierungen garantiert und eine echte WORA-Semantik über Millionen von Geräten hinweg gewährleistet.
Siehe auch
- Kritik an plattformübergreifender Entwicklung und diesem Slogan
- Software-Portabilität
- Einmal schreiben, überall kompilieren
- Parrot virtuelle Maschine
- Kritik an Java
- Einmal schreiben, ewig laufen
- Universelle Windows-Plattform