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

Verweise