High-level and low-level languages Cambridge IGCSE Computer Science (9–1) revision
Not started
Learn it
In plain words
A processor only understands machine code: instructions written as binary numbers. Almost nobody writes that by hand. Programmers write in languages made for people, which are then translated.
A high-level language reads something like English and maths. A low-level language is close to what the processor actually does.
6 things to know
- A high-level language uses statements close to human language. It is easier to read, write and debug.
- A high-level program is machine independent: the same program can be translated to run on different types of computer.
- A low-level language is close to the instructions of one particular processor. Machine code is binary. Assembly language uses short words called mnemonics, such as ADD, in place of binary codes.
- A low-level program can manipulate the hardware directly, and can be made to run fast and use little memory.
- A low-level program is hard to read, write and debug, and it is machine dependent: it works only on the type of processor it was written for.
- An assembler is needed to translate an assembly language program into machine code.
Worked example
A programmer is writing the control program for a new washing machine with very little memory. Why might a low-level language be chosen?
- The program must control the hardware directly: the motor, the valves and the heater.
- A low-level language gives direct control of the hardware.
- The machine has little memory, and low-level code can be written to take up very little.
Tips and tricks
- Give both sides for each language. High-level: easy to write, but less control of the hardware. Low-level: full control, but hard to write and tied to one processor.
- Assembly language is not machine code. It still needs translating, by an assembler.
It lands in your notebook with its questions as flashcards.
High-level and low-level languages: 5 questions and answers
These are the quiz’s questions. Do the quiz first, then come back here for the ones that got you.
Which is a feature of a high-level language?
That makes it easier to read, write and debug.
What are mnemonics used in?
Short words such as ADD stand for binary instruction codes.
What does machine independent mean?
High-level programs are machine independent.
Which is an advantage of a low-level language?
That is why it is used for device drivers and embedded systems.
What translates assembly language into machine code?
Each mnemonic becomes a machine code instruction.
Quiz
5 questions
Tap an answer and you’ll see straight away whether it’s right, and why.
Worksheet
2 questions, 4 marks. Write your answers on paper, then check them.
High-level and low-level languages
Cambridge IGCSE Computer Science (9–1) 0984 · 4 marks · papermunch.org
Name ______________________________ Date ______________
Give two advantages of writing a program in a high-level language.[2]
Show answerHide answer
It is easier to read and write because it is close to human language. It is machine independent, so it can be used on different types of computer. (Also: it is easier to debug.)
Explain why a program written in assembly language has to be translated, and name the translator used.[2]
Show answerHide answer
The processor can only run machine code, and assembly language uses mnemonics. An assembler translates it into machine code.
Answers: High-level and low-level languages
- 1. It is easier to read and write because it is close to human language. It is machine independent, so it can be used on different types of computer. (Also: it is easier to debug.)
- 2. The processor can only run machine code, and assembly language uses mnemonics. An assembler translates it into machine code.



