AQA · GCSE · Computer Science

    Course version: 8525 · Version from Sept 2020

    Understand that all programming code written in high-level or assembly…

    Full specification wording

    Classification of programming languages and translators: Understand that all programming code written in high-level or assembly languages must be translated.

    A processor executes machine code, so source code written in a high-level language or in assembly language cannot run directly.

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

    • Point 9 of 19

    Study notes

    From the checked teaching notes for this specification point.

    The idea

    A processor executes machine code, so source code written in a high-level language or in assembly language cannot run directly. It must first be translated into machine code. High-level code such as a Python or Java statement is translated by a compiler or an interpreter; assembly code is translated by an assembler. The key idea is that translation is not optional: every program in these languages needs a translator before the CPU can carry it out. A compiler converts the whole program at once into an executable, an interpreter translates and runs it line by line, and an assembler converts mnemonics into binary machine code. Recognising which translator matches which language, and why translation is unavoidable, is the examinable point.

    What earns the marks

    • All code written in a high-level language must be translated before it can be executed by a processor.
    • All code written in assembly language must be translated before it can be executed by a processor.
    • High-level languages are typically translated by a compiler or an interpreter.
    • Assembly language is translated by an assembler into machine code.
    • Translation produces machine code that the processor can execute directly.
    • Translation is required because processors execute machine code, not source code.

    Common mistakes and how to put them right

    • Thinking a high-level program runs directly on the CPU.

      Put it right by stating it must be translated to machine code first.

    • Confusing an assembler with a compiler.

      Put it right: An assembler translates assembly language, a compiler translates high-level language.

    • Believing translation is optional or only for some programs.

      Put it right: Every high-level or assembly program must be translated.

    Exam tips

    • Link each language to its translator: high-level to compiler or interpreter, assembly to assembler.
    • State clearly that the output of translation is machine code the processor can run.
    • If asked why translation is needed, refer to the processor executing machine code only.

    Try the lesson

    The start of the Classification of programming languages and translators: Understand that all programming code written in high-level or assembly languages must be translated. lesson, made from checked teaching notes for this specification point.

    Have a go first

    A programmer writes a program in assembly language. Why must this code be translated before the processor can run it?

    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: Understand that all programming code written in high-level or assembly languages must be translated.

    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