High-level and low-level languages Cambridge IGCSE Computer Science revision

Not started

Learn it

In plain words

A processor only understands machine code: instructions written as binary numbers. Almost nobody writes that by hand. Programmers write in languages made for people, which are then translated.

A high-level language reads something like English and maths. A low-level language is close to what the processor actually does.

6 things to know

  1. A high-level language uses statements close to human language. It is easier to read, write and debug.
  2. A high-level program is machine independent: the same program can be translated to run on different types of computer.
  3. A low-level language is close to the instructions of one particular processor. Machine code is binary. Assembly language uses short words called mnemonics, such as ADD, in place of binary codes.
  4. A low-level program can manipulate the hardware directly, and can be made to run fast and use little memory.
  5. A low-level program is hard to read, write and debug, and it is machine dependent: it works only on the type of processor it was written for.
  6. An assembler is needed to translate an assembly language program into machine code.

Worked example

A programmer is writing the control program for a new washing machine with very little memory. Why might a low-level language be chosen?

  1. The program must control the hardware directly: the motor, the valves and the heater.
  2. A low-level language gives direct control of the hardware.
  3. The machine has little memory, and low-level code can be written to take up very little.

Tips and tricks

  • Give both sides for each language. High-level: easy to write, but less control of the hardware. Low-level: full control, but hard to write and tied to one processor.
  • Assembly language is not machine code. It still needs translating, by an assembler.
5 questions, about 2 minutes.

It lands in your notebook with its questions as flashcards.

High-level and low-level languages: 5 questions and answers

These are the quiz’s questions. Do the quiz first, then come back here for the ones that got you.

  1. Which is a feature of a high-level language?
    • It is written in binary.
    • It is close to human language. (the answer)
    • It works on only one type of processor.
    • It needs no translation.

    That makes it easier to read, write and debug.

  2. What are mnemonics used in?
    • machine code
    • assembly language (the answer)
    • high-level languages
    • spreadsheets

    Short words such as ADD stand for binary instruction codes.

  3. What does machine independent mean?
    • The program needs no computer.
    • The program can be used on different types of computer. (the answer)
    • The program works on only one processor.
    • The program cannot be changed.

    High-level programs are machine independent.

  4. Which is an advantage of a low-level language?
    • It is easy to debug.
    • It is easy to read.
    • It can manipulate the hardware directly. (the answer)
    • It works on every computer.

    That is why it is used for device drivers and embedded systems.

  5. What translates assembly language into machine code?
    • a compiler
    • an interpreter
    • an assembler (the answer)
    • a browser

    Each mnemonic becomes a machine code instruction.

Still stuck on this one?Ask in the Papermunch Discord, or help someone else who is. Discord is for ages 13 and up.Join the server

Things you can type

Or go straight to

Or browse a shelf