AQA · GCSE · Computer Science

    Course version: 8525 · Version from Sept 2020

    Know that there are different levels of programming language:

    Full specification wording

    Classification of programming languages and translators: Know that there are different levels of programming language:

    Programming languages sit at different levels according to how close they are to human-readable code and how close they are to the machine's own instructions.

    Checked against the AQA 8525 specification (opens in a new tab) on .

    • Point 1 of 19

    Study notes

    From the checked teaching notes for this specification point.

    The idea

    Programming languages sit at different levels according to how close they are to human-readable code and how close they are to the machine's own instructions. High-level languages such as Python or Java use readable statements and are portable across different processors, but they must be translated before the CPU can run them. Low-level languages are closer to the hardware: machine code is the binary instructions the processor executes directly, and assembly language uses short mnemonics that map closely to those instructions. A multiple-choice question may ask you to identify a level from a description, or to match a language to its level. Decide by asking how abstract the code is from the hardware and whether it needs translation.

    What earns the marks

    • States that programming languages exist at different levels, principally high-level and low-level.
    • Describes high-level languages as readable, abstracted from hardware and generally portable, requiring translation before execution.
    • Describes low-level languages, including machine code (binary instructions executed directly) and assembly language (mnemonics close to machine instructions).
    • Matches a described language or code sample to the correct level and justifies the choice by its closeness to human language or to the hardware.

    Common mistakes and how to put them right

    • Thinking high-level languages run directly on the CPU without translation.

      Put it right: They must be translated (for example by a compiler or interpreter) into machine code first.

    • Confusing assembly language with machine code.

      Put it right: Assembly uses mnemonics and still needs an assembler, whereas machine code is the binary form the processor executes directly.

    • Assuming 'low-level' means poor quality.

      Put it right: It means close to the hardware, giving fine control but less portability and readability.

    Exam tips

    • Ask how close the code is to human language versus the hardware to decide its level.
    • Remember that high-level code is portable but needs a translator; machine code needs none.
    • Eliminate options that mix up assembly language and machine code before selecting.

    Try the lesson

    The start of the Classification of programming languages and translators: Know that there are different levels of programming language: lesson, made from checked teaching notes for this specification point.

    Have a go first

    Which of these is a low-level programming 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.

    Carry on with the full lesson

    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: Know that there are different levels of programming language:

    Active recall beats re-reading. Take an instant quiz now to test what you’ve learned and lock it into long-term memory.

    Take topic quiz

    A week of Premium from your first lesson · Then the free plan continues · No card, no charge