ExamYard Lectures

High-level and low-level languages, and translators

IGCSE Computer Science 0478 · Chapter 4.2, Languages and translators · 6-minute lecture

The teaching part (2 min) is free to watch. A free account opens the whole lecture: 7 practice questions, 2 real past-paper questions with the answers explained, the mistakes that lose marks, the full-marks tip, a one-card summary and a quick quiz.

What this lecture covers

  1. Speaking to a processor
  2. High-level languages
  3. One task, three levels
  4. Why programmers choose high-level
  5. Low-level languages
  6. Choosing a language
Read the transcript of the teaching part

Last time

Before we start: last time, in Software, the operating system and interrupts, you learned these points. Here they are again on one card. Keep them in mind, because today builds on them.

Speaking to a processor

A processor understands only one language: machine code, which is binary. But nobody wants to write programs as long strings of zeros and ones. So programmers write in languages that people can read. And a translator converts them into machine code before they can run.

High-level languages

A high-level language uses English-like statements and mathematical symbols. Python, Java and Visual Basic are all high-level languages. It must be translated into machine code before the computer can run it. It is portable: it is machine independent, so it can run on different computers.

One task, three levels

Here is one calculation at three levels. In a high-level language, one readable line. In assembly language, short codes called mnemonics, one for each machine instruction. In machine code, only binary, which is what the processor really runs.

Why programmers choose high-level

A high-level program is easier to read, write and understand. It is easier to debug, so there are fewer errors. One statement can do many things, so programs are shorter. But it must be translated, and it may run slower or use more memory.

Low-level languages

Low-level languages are machine code and assembly language. They give direct control of the hardware, and can use machine-specific instructions. Programs can run faster and use less memory. But they are hard to read, write and debug, and they only work on one type of processor.

Choosing a language

Choose a high-level language when the program must be easy to write and maintain, or run on many types of computer. Choose a low-level language when you need direct control of the hardware, or speed and little memory, as in a device driver or an embedded system.

Chapter 4.2: Languages and translators

Also for IGCSE Computer Science 0478

Which topics come up most in IGCSE Computer Science 0478 past papers, counted from every paper since 2004: Paper 1 topic frequency, Paper 2 topic frequency.

The topical past-paper books: Paper 1, Paper 2.