Thank you for recommending "".
Your recommendation has been successfully processed.
Write Once, Debug Everywhere
Code portability is the key to diverse application platforms and application migration.
Date Posted: May 27, 2002 12:00 AM
Machine-code translation features lots of benefits, including migration speed. It's not unusual to migrate applications to a new platform, then slowly migrate them via recompilation and possibly redesign at a later date.
The major problem with this procedure is migration of the runtime support. It's possible to bring over the entire system from the old platform. But more often, the application alone is moved. In this case, an interface must be created from the application to the native operating system and related support system. The scope of such a job varies greatly, depending on the scope of the application interface and the application size.
Nothing Is Problem Free: 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. Even playing by the rules and not using these features can result in difficult-to-diagnose problems due to how a VM is used. Being slightly out of spec, or having an interface not precisely defined or not used accordingly, means that applications will run differently on separate platforms.
Unfortunately, porting problems will always be with us. The trick is to minimize the problems so developers can concentrate on the application.