Revise Computing
Revision notesQuestionsFor schools
Log inStart revising free
Revision notesQuestionsFor schoolsLog in
GCSE Computer Science/Paper 2/Languages

High-level languages; Low-level languages

Characteristics and purpose of different levels of programming language: High-level languages; Low-level languages

2.5.1 Languages

Practise exam questions

Languages — Note 1 of 3

The differences between high- and low-level programming languages

What you need to know

Programming languages are divided into two levels: high-level languages (like Python, Java, C#) are designed to be readable by humans and are portable across different hardware. Low-level languages (assembly language and machine code) are closer to what the processor understands and give more direct control over hardware, but are harder to read and write.

What to know

  • High-Level

    • Uses English-like keywords (e.g. print, while, if) and is easier/quicker to learn and write.
    • PORTABLE — the same language can be used on computers with DIFFERENT hardware/processors.
    • Always needs to be translated into object code or machine code before execution.
    • Provides a higher level of abstraction — programmer doesn't have to deal with memory allocation or processor registers.
  • Low-Level

    • Allows the user to directly manipulate memory and hardware.
    • Specific to one type of processor — NOT portable.
    • Does not need to be translated (machine code) / fast to translate (assembly). Faster execution.
    • Code can be optimised, shorter, uses less memory. Can program for specific hardware.
    • Requires programmer to understand the processor's registers and structure.
  • Machine code is pure binary (0s and 1s) that the processor executes directly.
  • Assembly language uses short mnemonics (e.g. ADD, MOV, LDA) and needs an assembler to translate.

Key terms

Programming Language

A formal language used to write instructions that can be translated into machine code and executed by a computer.

Exam technique

  • Tip:Common table question — 'same language on different hardware' = HIGH-LEVEL (portable). 'Directly manipulate memory' = LOW-LEVEL. 'English-like words' = HIGH-LEVEL. 'Always needs translating' = HIGH-LEVEL. 'Must be translated before processor can execute' = HIGH-LEVEL.
  • Tip:When asked for REASONS to use low-level: direct hardware control, faster execution, optimised code, less memory. When asked for ADVANTAGES of high-level: easier to write, portable, higher abstraction.
  • Mistake:Portability is the most commonly wrong answer. HIGH-LEVEL is portable (write once, run anywhere). LOW-LEVEL is specific to one processor type.

Ready to test yourself?

Practise 2.5.1 questions
← Previous topicTruth tables to solve problems2.4.1 Boolean LogicNext note →Translators2.5.1 Languages

Back to Languages

Revise another OCR GCSE topic: IDEs

Languages

Note 1 of 3

  1. 1High-level languages; Low-level languages
  2. 2Translators
  3. 3The characteristics of a compiler and an interpreter
Topic overview

© 2026 Revise Computing · revisecomputing.co.uk

Privacy noticeTermsContact

Revise Computing is an independent revision resource. It is not affiliated with, or endorsed by, OCR (Oxford Cambridge and RSA Examinations).