Machine-dependent software


Machine-dependent software is software that runs only on a specific computer. Applications that run on multiple computer architectures are called machine-independent, or cross-platform. Many organisations opt for such software because they believe that machine-dependent software is an asset and will attract more buyers. Organizations that want application software to work on heterogeneous computers may port that software to the other machines. Deploying machine-dependent applications on such architectures, such applications require porting. This procedure includes composing, or re-composing, the application's code to suit the target platform.

Porting

Porting is the process of converting an application from one architecture to another. Software languages such as Java are designed so that applications can migrate across architectures without source code modifications. The term is applied when programming/equipment is changed to make it usable in a different architecture.
Code that does not operate properly on a specific system must be ported to another system.
Porting effort depends upon a few variables, including the degree to which the first environment varies from the new environment and the experience of the creators in knowing platform-specific programming dialects.
Many languages offer a machine independent intermediate code that can be processed by platform-specific interpreters to address incompatibilities. The transitional representation characterises a virtual machine that can execute all modules written in the intermediate dialect. The intermediate code guidelines are interpreted into distinct machine code arrangements by a code generator to make executable code. The intermediate code may also be executed directly without static conversion into platform-specific code.

Approaches

Some application software is restricted to certain platforms. Those who want an application to work on a non-native computer, port the app to a new platform.