User talk:Abhi1001jain

C++ Interpreter VS Compilers
We generally write a computer program using a high-level language. A high-level language is one which is understandable by us humans. It contains words and phrases from the English (or other) language. But a computer does not understand high-level language. It only understands program written in 0's and 1's in binary, called the machine code. A program written in high-level language is called a source code. We need to convert the source code into machine code and this is accomplished by compilers and interpreters. Hence, a compiler or an interpreter is a program that converts program written in high-level language into machine code understood by the computer.

The difference between an interpreter and a compiler is given below:

Interpreter 1. Translates program one statement at a time. 2. It takes less amount of time to analyze the source code but the overall execution time is slower. 3. No intermediate object code is generated, hence are memory efficient. 4. Continues translating the program until the first error is met, in which case it stops. Hence debugging is easy. 5. Programming language like Python, Ruby use interpreters.

Compiler 1. Scans the entire program and translates it as a whole into machine code. 2. It takes large amount of time to analyze the source code but the overall execution time is comparatively faster. 3. Generates intermediate object code which further requires linking, hence requires more memory. 4. It generates the error message only after scanning the whole program. Hence debugging is comparatively hard. 5. Programming language like C, C++ use compilers.