Talk:Machine-dependent software

Machine-dependent is being misrepresented here. It is represented as "application dependence", which is too high an abstraction. IT is not the app, but the particular encodings of the app; it is the internal, less abstract forms that most the links to it (for example call stack) have in context.

The way this stub is currently written, I could become confused, realizing "All applications depend on machines and are machine-dependent." This stub teaches how machine is and dependent could relate. But machine-dependent is not the immaturity of of the ubiquity of compilers.

WHat we want to convey is "fitting code to a system", feeding a "recognizable representation" to a system is an encoding that depends on the system, not an application. (The system is the combination of hardware and operating system software.)

I would change the entire approach of this stub: Machine-independence or machine dependence refers to the form of the encoded application is found in, relative to the translating effects the compiler or interpreter has on the application.

A translating application can take source code and translate it into machine code. If the translating app runs on all types of computers, that source code is machine independent. Machine independence comes about by abstracting away" a lower level of detail, through coding standards, virtual machines, or common hardware. Theoretically all hardware could run its own universal translator, all source code would be machine independent, and the only machine dependent code would be the lower parts of the translator.

Byte code is an example of machine independent code. It is the result of designing a compiler with a front and and a back end. In this context the virtual machine is dependent and the byte code independent. In the byte-code realm the only machine dependent applications are the virtual machines.