CBSE Class 11 » CBSE Class 11 Study Materials » Computer Science » Programming Tools and Language Translators

Programming Tools and Language Translators

Language translators like interpreters, compilers, and assemblers convert high-level language into machine code that a computer can understand.

You need to speak a language to have a conversation. Programming language is that which people use to write code. It is used to tell a computer what to do. As long as the instruction is written in machine language, computers can read and follow it. Language translators are used to make programs easier to understand when they are being translated. 

What are language translators?

These can translate a program written in one programming language into another. Language translators are also called language processors.

Code written in any high-level programming language is called “source code”. When you change the source code into machine code, it is called “object code”. A translator turns the source code into object code, which the computer can understand and run.

There are three types of language translators:

  • Compilers
  • Interpreters
  • Assemblers

Compilers

Compilers turn high-level language code into machine code. Many things must be done at once when compiling. First, the compiler must turn all high-level language code into lower-level machine language, and save the object code to the memory.

A compiler makes machine code that runs on a processor. It is different for each processor. Compilers are also different for each platform.

Interpreters

Another way to get your computer to run a code is by using an interpreter. An interpreter is like a compiler, but it takes the code and runs it right away, so it is faster than a compiler. They are used as debugging tools because interpreters can only run one piece of code at a time. Translating all the code into machine language at once is done by compilers.

The processor runs the machine language that the compiler made. Some changes may be made to the code after it has been compiled. The changed code will need to be compiled and added to the compiled code.

But an interpreter, even though it doesn’t have to compile the whole program to start, is slower to run than the same program that has been fully compiled.

Differences between Compiler and Interpreter

Compiler

Interpreter

A compiler takes the entire program and compiles it all at once.

Each line is translated by the interpreter and then executed.

It keeps an object file.

It does not save an object file.

Takes more memory space

Takes less memory space

Fast program execution

Slow program execution

Tough debugging

Easy debugging

Beneficial for commercial purpose

Beneficial for learning purpose

Assemblers

Assemblers translate a program written in assembly language into machine language. It’s like a compiler for assembly language. Still, it can also be used as an interpreter to help you write a program. Assembly language is a low-level programming language.

At first glance, low-level programming languages are more difficult to understand. You have to study assembly code carefully to understand it.

Machine code (also called object code) is a lower-level language that the processor can directly understand. An assembler turns assembly language code into machine code, which is easier for the processor to read. Usually, assembly code has many more lines of code than a higher-level language.

What Is the Difference Between a Compiler, Interpreter and an Assembler?

Definition

The compiler turns the entire high-level language program to machine code at a time. The interpreter translates the high-level language program into machine language line by line. On the other hand, Assembler translates assembly language programs to machine language. 

Language

Compilers use it to convert code in languages like C and C++. An interpreter is used in languages like Ruby, Perl, Python, and PHP, while an assembler uses assembly languages.

Functionality

The compiler translates the entire high-level language program to machine language at one moment. The interpreter translates the high-level language program to machine language by line. On the other hand, Assembler translates assembly language programs to machine language.

Conclusion

Language translators include compilers, interpreters, and assemblers. Compiler, interpreter, and assembler are different in that the compiler converts entire high-level language programs to machine language at once. In contrast, an interpreter converts high-level language to machine language line by line. The assembler translates assembly language programs to machine language.

faq

Frequently Asked Questions

Get answers to the most common queries related to the CBSE Class 11 Examination Preparation.

What are the advantages of interpreters?

Answer : Since a single line of code is translated and run at a time, debugging an interpreted program is re...Read full

Are assembler and interpreter the same?

Answer : An assembler converts the assembly language into object code. Assemblers produce one machine code in...Read full

Is Java a compiler or interpreter?

Answer : Since its source code is first turned into binary byte-code, Java can be regarded as a compiled and ...Read full

Why is the compiler faster than the interpreter?

Answer : A compiled program runs quicker than an interpreted program, but compiling and running a program tak...Read full

What is the difference between Java and Python?

Answer : Python is a dynamically typed and interpreted language, whereas Java is statically typed and compile...Read full