When we write a program in high level language like C, the machine or the computer have no idea of how to execute the program. The only language that it knows is the machine language. In order to perform this conversion, we use compilers and interpreters.

Interpreter

Interpreter is a computer program that converts high level language code into machine language code line by line. If it finds a single error, it stops instantly. For example, if there are 100 lines of code and it finds error in the 5th line, then it only converts the first 5 lines and throws the error. You need fix each error one at a time.

Compiler

Compiler is a computer program that convert high level language into machine language all at once. It reports multiple error, if any at a time. You can know all the syntax and other code errors you made, at a single instance.