| Even
low-level languages require translation: into a series
of 0s and 1s, which is all the computer can cope with.
These 0s and 1s represent a small set of instructions
(such as ADD, SUBTRACT, NEGATE, MOVE and various comparison
instructions like AND, OR and NOT) which can act on
data stored in 0s and 1s in the computer’s memory. These
0s and 1s are what is known as machine code.
Computers
can successfully do all that you see them do with a
very small set of basic instructions (multiplying can,
for example, be carried out through repeated addition
and subtraction by negating one value and adding), though
most computers use more than the most basic set for
reasons of speed. These instructions can be carried
out because the hardware of the computer is ‘wired’
with logic gates and storage that electronically
use the voltages signified by the 1s and 0s to trace
a path through the memory, bus , control unit and
arithmetic–logic unit.
Historically,
low-level languages came first, but they are difficult
and fiddly, and programmers are very prone to make errors
when using them. High-level languages developed when
someone decided that it was possible to make a computer
program translate between a language that was
close to a human conception of a problem and what the
computer actually needed in the way of instructions
to make it function.
|