|
||
|
| Smart Computing® Encyclopedia |
| machine language/machine code | ||
| There are many programming languages used to create software applications, but computers don’t directly understand any of them except machine language. Machine languages are as basic as programming languages can get and also are the most difficult to learn.
That’s because they don’t use words or syntax humans are used to dealing with. They only use the basic terms, commands, and other operations that a particular processor is designed to handle directly (called an
instruction set), with no further interpretation required since everything is expressed as a binary number. High-level languages, such as C++, are far easier for humans to understand and work with, but commands from those languages must be broken down into the basic machine language the processor inherently understands. This constant translation from one language to another takes time, meaning a program written in a high-level language that does exactly the same thing as a program written in machine language will always take longer for the processor to execute. Machine language is much more efficient. There is no standard machine language. Every computer speaks its own special dialect, which is the main reason programs written to run on one computer, such as a Macintosh, won’t run on a different type of computer, such as a PC. Because the majority of programmers use high-level languages, programs called compilers exist that automatically translate the original high-level code (called the source code) into machine language. Every time a programmer wants to use a program with a different processor, the code must be recompiled so the different processor can understand it. This usually involves much more work than simply running the same code through two different compilers, as processors have varying abilities and the original code must be designed to both exploit a processor’s strengths and avoid its weaknesses. Once a program is compiled and any other steps are taken to translate it completely into machine language, there is no way to easily reverse-engineer it to translate it back into source code. Translating source code into machine language is one of the major ways software manufacturers protect their valuable source code from simply being copied by competitors or exploited by hackers. Before high-level languages such as BASIC (Beginners All-Purpose Symbolic Instruction Code) were invented, all programming was done directly in machine language by entering a series of binary digits (1s and 0s) into a computer to tell it what to do. As machines became more complex and powerful, programming directly in machine language became too tedious and difficult, so the high-level languages were developed to provide easier access at the expense of execution speed. See instruction set; compiler; source code. | ||
| | ||
Home Copyright & Legal Information Privacy Policy Site Map Contact Us