High-level and low-level languages, and translators
Watch the whole lecture free
Make a free account to watch every lecture to the end: 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.
That was the teaching part. The rest of this lecture is free with an account: 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.
No password needed now: we email you a link to set one. Already have an account? Sign in, then come back to this page.
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
- Speaking to a processor
- High-level languages
- One task, three levels
- Why programmers choose high-level
- Low-level languages
- 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
- High-level and low-level languages, and translators 6 min
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.