AQA · GCSE · Computer Science

    Course version: 8525 · Version from Sept 2020

    High-level language.

    Full specification wording

    Classification of programming languages and translators: high-level language.

    A high-level language is a programming language written in a form that is close to human language and to the problem being solved, rather than close to the processor's own instruction set.

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

    • Point 4 of 19

    Study notes

    From the checked teaching notes for this specification point.

    The idea

    A high-level language is a programming language written in a form that is close to human language and to the problem being solved, rather than close to the processor's own instruction set. Examples include Python, Java, C# and JavaScript. Because the code is readable and portable, one program can usually run on different hardware once translated. High-level languages give the programmer built-in structures such as variables, loops, selection and subroutines, and they hide hardware detail. They must be translated before the processor can execute them, using a compiler or an interpreter. Recognise that 'high-level' describes the level of abstraction from the machine, not the difficulty of the language or the skill of the programmer.

    What earns the marks

    • A high-level language is written in a form close to human language and to the problem, not close to machine code.
    • High-level languages are portable: the same source code can be translated to run on different hardware.
    • High-level languages provide built-in programming constructs such as variables, loops, selection and subroutines.
    • High-level languages hide hardware detail, so the programmer does not manage registers or memory addresses directly.
    • High-level source code must be translated by a compiler or an interpreter before execution.

    Common mistakes and how to put them right

    • Thinking 'high-level' means a harder or more advanced language.

      Put it right by explaining it means further abstracted from the machine.

    • Believing high-level code runs directly on the processor without translation.

      Put it right by stating a compiler or interpreter is needed.

    • Assuming high-level languages cannot be portable.

      Put it right by explaining portability is a key advantage.

    • Confusing high-level languages with machine code or assembly.

      Put it right by noting those are low-level.

    Exam tips

    • Link the answer to abstraction from the machine, not to difficulty.
    • Name a concrete example such as Python or Java to anchor the definition.
    • State that translation by a compiler or interpreter is required before execution.

    Try the lesson

    The start of the Classification of programming languages and translators: high-level language. lesson, made from checked teaching notes for this specification point.

    Have a go first

    Which of these is a high-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: high-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.

    Take topic quiz

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