Machine-dependent software

Applications that run on multiple computer architectures are called machine-independent, or cross-platform.

This procedure includes composing, or re-composing, the application's code to suit the target platform.

[2] Software languages such as Java are designed so that applications can migrate across architectures without source code modifications.

[3] Many languages offer a machine independent intermediate code that can be processed by platform-specific interpreters to address incompatibilities.

[4] The transitional representation characterises a virtual machine that can execute all modules written in the intermediate dialect.