AQA · GCSE · Computer Science
Course version: 8525 · Version from Sept 2020
Classification of programming languages and translators: low-level language
A low-level language is one that sits close to the hardware, giving the programmer direct control over the processor and memory.
Checked against the AQA 8525 specification (opens in a new tab) on .
- Point 3 of 19
Study notes
From the checked teaching notes for this specification point.
The idea
A low-level language is one that sits close to the hardware, giving the programmer direct control over the processor and memory. It includes machine code, the binary instructions a processor executes directly, and assembly language, which uses short mnemonics for those instructions and is converted to machine code by an assembler. Because each instruction maps closely to a processor operation, low-level code can be very efficient and compact, and it allows precise control of registers and memory. The cost is that it is specific to one instruction set, so it is not portable, and it is difficult for humans to read, write and debug. Low-level languages are chosen where speed, size or direct hardware control matter, such as device drivers or embedded systems. Recognising these features lets you classify a language and justify when it would be used.
What earns the marks
- A low-level language is close to the hardware and gives direct control over the processor and memory.
- Machine code consists of binary instructions executed directly by the processor.
- Assembly language uses mnemonics for instructions and is converted to machine code by an assembler.
- Low-level code is specific to one instruction set, so it is not portable between different processors.
- Low-level code can be efficient and compact but is harder to read, write and debug, so it suits tasks needing direct hardware control.
Common mistakes and how to put them right
Treating assembly language as directly executable.
Put it right by stating that an assembler converts it to machine code first.
Assuming low-level languages are portable.
Put it right by explaining that they are tied to a specific instruction set.
Equating low-level with outdated or useless.
Put it right by giving a valid use such as device drivers or embedded systems.
Exam tips
- Name both machine code and assembly language as examples of low-level languages.
- State the role of the assembler when assembly language is mentioned.
- Balance the advantages of control and efficiency against the disadvantages of readability and portability.
Try the lesson
The start of the Classification of programming languages and translators: low-level language lesson, made from checked teaching notes for this specification point.
Have a go first
Which of these is an example of a low-level language?
There is more to this lesson
The full lesson goes on to check your understanding and help you earn the marks. Create a free account to carry on, with your progress saved.
A week of Premium from your first lesson · Then the free plan continues · No card, no charge
Test your understanding of Classification of programming languages and translators: low-level language
Active recall beats re-reading. Take an instant quiz now to test what you’ve learned and lock it into long-term memory.
A week of Premium from your first lesson · Then the free plan continues · No card, no charge