Software · 4 question types
Past paper frequency (2018 to 2024)
This topic accounts for approximately 4% of your exam marks.
Compiler vs interpreter differences are a recurring 3-mark question.
A computer's CPU only understands one language: binary machine code, the sequence of 1s and 0s it directly executes. Humans find binary almost impossible to write. A programming language is a more human-friendly notation for describing computer programs, which is then translated into machine code before the CPU can run it.
Programming languages are usually grouped by how close they sit to machine code:
| Generation | Type | Example |
|---|---|---|
| 1st generation | Machine code | Raw binary instructions like 10110111 |
| 2nd generation | Assembly language | Mnemonic instructions like LDA 5 |
| 3rd generation | High-level languages | Python, Java, C++, BASIC |
The first two are called low-level: they are very close to the hardware. The third is called high-level: it is much closer to human language and far further from the hardware.