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 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
- 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
- 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 translate high-level source code into executable binary one line at a time.
- Python and JavaScript are examples of interpreted languages.

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
- 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?