Compiler and Interpreter are two different ways to execute a program written in a programming or scripting language.
A compiler takes entire program and converts it into object code which is typically stored in a file. The object code is also refereed as binary code and can be directly executed by the machine after linking. Examples of compiled programming languages are C and C++.
An Interpreter directly executes instructions written in a programming or scripting language without previously converting them to an object code or machine code. Examples of interpreted languages are Perl, Python and Matlab.
Following are some interesting facts about interpreters and compilers.
1) Both compilers and interpreters convert source code (text files) into tokens, both may generate a parse tree, and both may generate immediate instructions. The basic difference is that a compiler system, including a (built in or separate) linker, generates a stand alone machine code program, while an interpreter system instead performs the actions described by the high level program.
2) Once a program is compiled, its source code is not useful for running the code. For interpreted programs, the source code is needed to run the program every time.
3) In general, interpreted programs run slower than the compiled programs.
4) Java programs are first compiled to an intermediate form, then interpreted by the interpreter.
Please write comments if you find anything incorrect, or you want to share more information about the topic discussed above.
GeeksforGeeks has prepared a complete interview preparation course with premium videos, theory, practice problems, TA support and many more features. Please refer Placement 100 for details
- Language Processors: Assembler, Compiler and Interpreter
- Generate an array of given size with equal count and sum of odd and even numbers
- Count of integral coordinates that lies inside a Square
- Identical Splitting in a rectangular grid
- Program to print window pattern
- Dropbox - An Introduction
- Escape Sequences in Java
- Minimum number of blocks required to form Hollow Rectangular Prism
- Visibility Modes in C++ with Examples
- Dockerizing a simple Django app
- Difference between Keyword and Identifier
- Height of Pyramid formed with given Rectangular Box
- Print the frequency of each character in Alphabetical order
- Maximum number of line intersections formed through intersection of N planes
Improved By : nidhi_biet