Compiler and Interpreter are two different ways to translate a program from programming or scripting language to machine 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.
Don’t stop now and take your learning to the next level. Learn all the important concepts of Data Structures and Algorithms with the help of the most trusted course: DSA Self Paced. Become industry ready at a student-friendly price.
- Language Processors: Assembler, Compiler and Interpreter
- First element of every K sets having consecutive elements with exactly K prime factors less than N
- Sorting algorithm visualization : Insertion Sort
- Check if row-major order path of Matrix is palindrome or not
- Angle between a Pair of Lines in 3D
- Program to Print K using Alphabets
- 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