Computers can only think in terms of 0 or 1 (binary digits), and
certain combinations of 0 or 1 will tell the processor what to do.
Most human can't speak this machine language so well (not
impossible, e.g., cracking DVD ``encryption'').
e.g. Can you tell what 0000010000000111 means in Pentium machine language?
We write a set of instructions in a human-friendly programming
language to make source code.
Compiler is a program which understand the human-friendly
programming language, and translate it to the language which a
computer can understand (object code).
Object code is machine specific.
Source code (which we use in the class) is NOT machine specific,
and no need to worry about internals of computers.
Punch line:
Compiler translate the source code into object code (a
program), which can be run on computer.