Escribir una vez, ejecutar en cualquier lugar (WORA) o, en ocasiones, escribir una vez, ejecutar en todas partes (WORE), fue un eslogan de 1995 [1] creado por Sun Microsystems para ilustrar los beneficios multiplataforma del lenguaje Java . [2] [3] Idealmente, esto significaba que un programa Java podría desarrollarse en cualquier dispositivo, compilarse en un código de bytes estándar y se espera que se ejecute en cualquier dispositivo equipado con una máquina virtual Java (JVM). La instalación de un intérprete de JVM o Java en chips, dispositivos o paquetes de software se convirtió en una práctica estándar de la industria.
Un programador podría desarrollar código en una PC y esperar que se ejecute en teléfonos móviles habilitados para Java , así como en enrutadores y mainframes equipados con Java, sin ningún ajuste. Esto tenía la intención de ahorrarles a los desarrolladores de software el esfuerzo de escribir una versión diferente de su software para cada plataforma o sistema operativo en el que pretenden implementar.
Esta idea se originó ya a finales de la década de 1970, cuando se desarrolló el sistema UCSD Pascal para producir e interpretar código p . UCSD Pascal (junto con la máquina virtual Smalltalk) fue una influencia clave en el diseño de la JVM, como lo cita James Gosling . [ cita requerida ]
El problema es que, dado que existen múltiples implementaciones de JVM, además de una amplia variedad de sistemas operativos diferentes, podría haber diferencias sutiles en la forma en que un programa se ejecuta en cada combinación de JVM / OS, posiblemente requiriendo que se pruebe una aplicación en cada plataforma de destino. . Esto dio lugar a una broma entre los desarrolladores de Java: Write Once, Debug Everywhere . [4]
En comparación, el entorno y el lenguaje de programación Squeak Smalltalk se jacta de ser verdaderamente de escritura una vez que se ejecuta en cualquier lugar, [5] porque ejecuta imágenes de bits idénticos en su amplia base de portabilidad. [6]
Al igual que Squeak, MicroEJ proporciona un entorno de ejecución virtual que garantiza una política de subprocesos Java única en todas las implementaciones, lo que garantiza una verdadera semántica de WORA en millones de dispositivos.
Ver también
Referencias
- ^ https://www.computerweekly.com/feature/Write-once-run-anywhere
- ^ "JavaSoft incluye Java 1.0". Sun Microsystems. 1996-01-23.
La capacidad de escribir una vez y ejecutar en todas partes de Java junto con su fácil accesibilidad han impulsado a las comunidades de software e Internet a adoptarlo como el estándar de facto para escribir aplicaciones para redes complejas.
Falta o vacío|url=
( ayuda ) - ^ "¿Escribe una vez, corre a cualquier lugar?" . Computer Weekly . 2002-05-02 . Consultado el 27 de julio de 2009 . CS1 maint: parámetro desalentado ( enlace )
- ^ Wong, William (27 de mayo de 2002). "Escriba una vez, depure en todas partes" . electronicdesign.com . Consultado el 4 de febrero de 2013 .
Hasta ahora, la promesa de Java de "escribir una vez, ejecutar en todas partes" no se ha hecho realidad. La mayor parte de una aplicación Java migrará entre la mayoría de las implementaciones de Java, pero aprovechar una característica específica de la máquina virtual causa problemas de migración.
CS1 maint: parámetro desalentado ( enlace ) - ^ "Bienvenido a Squeak" . Chirriar . Consultado el 5 de mayo de 2015 . CS1 maint: parámetro desalentado ( enlace )
- ^ "Regreso al futuro la historia de Squeak, un Smalltalk práctico escrito en sí mismo" . Dan Ingalls Ted Kaehler John Maloney Scott Wallace Alan Kay . Consultado el 5 de mayo de 2015 . CS1 maint: parámetro desalentado ( enlace )