Language has always been the most effective medium of communication. Good communication is always a bridge from confusion to clarity. Not only humans, each and every element of this nature too have their own language of speech to share their emotions and feelings with the other. At times even a gentle breeze speaks a hundred matters to us.
Today in this 21st era, the era of technology, the computers to have languages to communicate with us humans…the programming language.
Programming language can be classified into two types:
- Compiled language
- Interpreted language
What is Compiled Language?
The programming languages that the target machine can read without the help of another program. Generally, humans cannot understand the code of this language
What is Interpreted Language?
The programming languages that the target machine cannot read its own. The machines always need another program for the conversion of instructions into their readable form.
Basically, keywords of any programming language need to be converted into machine language, so that the code can run and give us the output through the system.
The methodology of machine language is always beyond human intelligence. So here comes the role of Translator software.
Translator software converts the keywords of programming languages into machine language and makes it run to get the output.
Normally the translator software works in two ways:
- As a compiler
- As an interpreter
As a compiler what translator software does is that:
It considers all the instructions in the Program and converts the source code into an equivalent machine code.
For e.g.: C, C++, CLEO, C#… use a compiler so these come under the category of Compiled languages.
In the role of an interpreter, the translator software takes one instruction at a time and it executes it in real time. This is actually an interactive way of executing a program.
Simply diagrammatically the idea of translator software can be represented like this.
Compiled Language vs Interpreted Language
|Compiled Languages||Interpreted Languages|
|The compiler works on the complete program at once. It takes the entire program as input||An interpreter takes programs line to line. It takes one statement at a time as input.|
|Generates the intermediate code known as the machine code or object code.||An interpreter doesn’t generate intermediate code known as the machine code.|
|Compiler languages are more efficient but are difficult to debug.||Interpreted languages are less efficient but easy to debug. This specialty makes it an ideal choice for new students.|
|The compiler does not allow a program to run until it is completely error-free.||The interpreter runs the program from the first line and stops execution only if it encounters an error.|
|Compile once and run any time. The compiled program need not be compiled every time.||Every time they run the program it is interpreted line by line.|
|Errors are reported after the entire program is checked syntactical and other errors.||Error is reported when the first error is encountered. The rest program remains unchecked till the error is solved.|
|The compiled program takes more memory because the entire object code has to reside in memory.||Interpreter does not generate intermediate memory code. Therefore interpreter programs are memory efficient.|
In the result of the process of interpreting or compiling lies the difference between interpreted and compiled language. Always an interpreter produces a result from a program; meanwhile a compiler produces a program written in assembly language.
Then it’s the turn of the assembler of architecture to convert the resulting program into binary code. For each individual computer, depending upon its architecture, assembly language varies. Consequently, only on computers that have the same architecture as the computer on which they were compiled, compiled programs can run.