2.2.5
Translators
Compilers
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
Interpreters are a type of translator which converts 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.
Assemblers
Assemblers
Assemblers translate assembly code into executable binary.


Assemblers
Assemblers
- Assembly is a very low-level programming language.
- Each instruction directly corresponds to a binary sequence, and the assembler replaces the commands with the relevant binary.


Pros of assemblers
Pros of assemblers
- Assembly provides exact control over the hardware:
- This can lead to very efficient code that takes up little space in memory and is quick to execute.
- Assembly can be used on low specification machines.


Cons of assemblers
Cons of assemblers
- Assembly is very difficult to use, and needs deep technical knowledge of the central processing unit and the memory.
1Components of a Computer
1.1Structure & Function of the Processor
1.2Types of Processors
2Software & Software Development
2.1Systems Software
2.2Applications Generation
2.3Software Development
3Exchanging Data
3.1Compression, Encryption & Hashing
3.3Networks
4Data Types, Data Structures & Algorithms
4.1Data Types
5Legal, Moral, Cultural & Ethical Issues
5.1Computing Related Legislation
6Elements of Computational Thinking
6.1Thinking Abstractly
6.2Thinking Procedurally
6.3Thinking Logically
7Problem Solving & Programming
7.1Programming Techniques
7.2Programming Construction
Jump to other topics
1Components of a Computer
1.1Structure & Function of the Processor
1.2Types of Processors
2Software & Software Development
2.1Systems Software
2.2Applications Generation
2.3Software Development
3Exchanging Data
3.1Compression, Encryption & Hashing
3.3Networks
4Data Types, Data Structures & Algorithms
4.1Data Types
5Legal, Moral, Cultural & Ethical Issues
5.1Computing Related Legislation
6Elements of Computational Thinking
6.1Thinking Abstractly
6.2Thinking Procedurally
6.3Thinking Logically
7Problem Solving & Programming
7.1Programming Techniques
7.2Programming Construction

Unlock your full potential with GoStudent tutoring
Affordable 1:1 tutoring from the comfort of your home
Tutors are matched to your specific learning needs
30+ school subjects covered