Translation - Compliers & Interpreter

Computer Science: OCR GCSE, topic 2.5.2

Compilers

Translators are special software that convert source code into executable binary. Compilers are just one type of translator:

Compilers

Compilers

  • Compilers translate the whole of a program in one go.
  • Compilers will provide a list of errors once it has attempted the compilation process:
  • This can make debugging easier.
  • C, C++, Visual Basic, and Swift are all compiled languages.
Pros of compilers

Pros of compilers

  • Compilers produce an executable program:
  • There is no need to repeat this process more than once per version of the software.
  • Compilers hide the source code from the end user:
  • This helps to protect developers' intellectual property.
Cons of compilers

Cons of compilers

  • The compilation process can be very slow:
  • This can slow down development if many small changes need to be made.

Interpreters

Interpreters are a type of translator which convert high level languages to executable machine code.

Interpreters

Interpreters

  • Interpreters translate high-level source code into executable binary one line at a time.
  • Python and JavaScript are examples of interpreted languages.
Pros of interpreters

Pros of interpreters

  • Interpreters will stop as soon as they encounter an error:
  • This is useful for debugging.
  • Interpreted languages are 'portable':
  • This means that they can be run on many different types of central processing unit as long as there is an interpreter available for the platform.
Cons of interpreters

Cons of interpreters

  • Running an interpreted program is slower than a compiled program because we have to translate each line every time we run the software.
  • But it is quicker to get started which can be good for small changes.
  • Interpreters do not produce a compiled program file:
  • The process must be repeated each time the program is run.

Test yourself on Translation - Compliers & Interpreter

  • Which of these statements are true of compilers?

  • Why is compilation bad for small changes?

Practise this topic for free