The native language of the computer. In order for a program to run, it must be presented to the computer as binary-coded machine instructions that are specific to that CPU family. Although programmers are sometimes able to modify machine language in order to fix a running program (see patch
), they do not create it. Machine language is created by software called "assemblers," "compilers" and "interpreters." These conversion programs turn the programmer's source code into machine language (machine code). See assembly language
Machine languages differ substantially. What may take one instruction in one machine can take 10 instructions in another. See RISC
What and Where
Machine language tells the computer what to do and where to do it. When a programmer writes TOTAL = TOTAL + SUBTOTAL, that statement is converted into a machine instruction that tells the computer to add the contents of the two areas of memory where TOTAL and SUBTOTAL are stored and put the result in TOTAL.
Logical Vs. Physical
A programmer deals with data logically, "add this, subtract that," but the computer must be told precisely where this and that are located.
From Source to Machine Language
For decades, the goal of a business organization has been to be able to describe a problem and have it turned into executable code (machine language). Today's programs are written in ever-higher layers of abstraction, and there are considerably more instructions executed to solve tasks than there were years ago. However, faster computers are able to absorb the additional machine language while retaining the same response times for the user (see abstraction layer
). See hardware platform