What is the difference between low-level and high-level languages, and how do assemblers, compilers and interpreters translate programs?
Low-level and high-level programming languages, the need for translators, and the differences between assemblers, compilers and interpreters.
A focused answer to the WJEC GCSE Computer Science Unit 1 content on programming languages and translators, covering low-level (machine code and assembly) and high-level languages, why translators are needed, and the differences between assemblers, compilers and interpreters with their advantages and disadvantages.
Reviewed by: AI editorial process; not yet individually human-reviewed
Have a quick question? Jump to the Q&A page
Jump to a section
What this topic is asking
WJEC wants you to know the difference between low-level and high-level languages, why translators are needed, and the differences between assemblers, compilers and interpreters. This is part of the Software content in Unit 1 of WJEC GCSE Computer Science (3500).
Low-level and high-level languages
Why translators are needed
Assemblers
Compilers and interpreters
Try this
Q1. State one advantage of a high-level language over a low-level language. [1 mark]
- Cue. It is easier and quicker for people to write, read and debug (and is portable across machines).
Q2. State one difference between a compiler and an interpreter. [1 mark]
- Cue. A compiler translates the whole program at once into an executable; an interpreter translates and runs it one statement at a time.
Exam-style practice questions
Practice questions written in the style of WJEC exam questions on this dot point, with worked answer explainers. The year tag is the paper they imitate, not the source.
WJEC-style Unit 14 marksExplain the difference between a low-level language and a high-level language, giving one advantage of each.Show worked answer →
A Unit 1 languages question. A low-level language is close to the hardware: machine code (binary instructions the CPU runs directly) or assembly language (mnemonics for those instructions) (1 mark). Its advantage is that it can be very fast and efficient and gives precise control over the hardware (1 mark). A high-level language uses English-like commands and is closer to human language, for example Python (1 mark). Its advantage is that it is easier and quicker for people to write, read and debug, and is portable across different machines (1 mark). Markers reward the hardware-versus-human distinction and a valid advantage of each. A common error is to say high-level languages run faster than low-level, which is generally the opposite.
WJEC-style Unit 14 marksDescribe the difference between a compiler and an interpreter.Show worked answer →
A Unit 1 translators question. A compiler translates the whole high-level program into machine code in one go, producing an executable file that can then be run on its own without the source code (1 mark for whole program, 1 mark for produces an executable). An interpreter translates and runs the program one statement at a time, with no separate executable produced (1 mark), so it stops at the first error it reaches, which makes it convenient for testing and debugging (1 mark). Markers reward all-at-once with an executable for the compiler and line-by-line execution for the interpreter. A common error is to say a compiler runs the program line by line, which describes an interpreter.
Related dot points
- The need for different types of software, and the difference between system software and application software with examples of each.
A focused answer to the WJEC GCSE Computer Science Unit 1 content on types of software, covering the difference between system software and application software, the purpose of each category, examples such as operating systems and utilities versus word processors and browsers, and why both are needed.
- The purpose and main components of the CPU (the ALU, the control unit and registers) and the von Neumann stored-program architecture.
A focused answer to the WJEC GCSE Computer Science Unit 1 content on the CPU and von Neumann architecture, covering the purpose of the CPU, the roles of the arithmetic logic unit, the control unit and registers, and the von Neumann stored-program model where instructions and data share the same memory.
- The three programming constructs (sequence, selection and iteration), the use of variables and constants, and arithmetic, relational and logical operators.
A focused answer to the WJEC GCSE Computer Science Unit 1 content on programming constructs, covering sequence, selection and iteration (including IF statements and FOR and WHILE loops), the difference between variables and constants, and arithmetic, relational and logical operators with worked examples.
- The use of subprograms (procedures and functions) and parameters, and the benefits of a modular, structured approach to programming.
A focused answer to the WJEC GCSE Computer Science Unit 1 content on subprograms and program structure, covering procedures and functions, the use of parameters, the difference between a procedure and a function, and the benefits of a modular, structured approach to writing programs.
- The stages of the software development life cycle (analysis, design, development, testing, evaluation and maintenance) and the use of test plans and test data.
A focused answer to the WJEC GCSE Computer Science Unit 1 content on the software development life cycle, covering the stages of analysis, design, development, testing, evaluation and maintenance, the purpose of each stage, and the use of test plans and test data including normal, boundary and erroneous data.