Compiler -- reads human-readable source code, produces machine-executable binary code. Examples are C, COBOL, Java, etc. Easiest for humans to program, but does not always produce the most efficient executables.
Interpreter -- Reads human-readable code, line at a time, and produces and executes machine instructions "on the fly". Example is good old BASIC. Good for testing, but is VERY slow.
Assembler -- Converts machine-manipulation coding directly into binary machine instructions. Produces the most efficient executables, but is the most difficult (for humans) to work with.
Best of all worlds (my opinion) is C on Unix, for speed, ease of use, program efficiency.
Linux Pocket Guide, 3rd Edition : Essential Commands - [image: Linux Pocket Guide, 3rd Edition] If you use Linux in your day-to-day work, this popular pocket guide is the perfect on-the-job reference. The thir...
17 minutes ago