Low and High Level Languages
A low-level language is a programming language that sits close to the processor and the hardware. Its instructions have a small, predictable effect, which gives you fine control over what the computer does and makes it possible to reduce wasted processing time and memory use.
With a low-level language you can work directly with hardware such as registers, memory addresses and input/output ports. You decide exactly where values are stored and which operations happen, rather than relying on layers of built-in features. This means a program can be optimised: written to run quickly and to use as little memory as possible.
For example, a handheld games console can draw a sprite by writing each pixel straight into video memory at a chosen address. No drawing library routines are needed, so the frame is ready in time for the screen refresh and the routine stays tiny.
Low-level languages are chosen when hardware control or efficiency matters more than easy programming. Three common uses are shown below.
| Use | Why a low-level language suits it |
|---|---|
| Device driver | Software that lets the operating system communicate with a piece of hardware, such as a graphics tablet. It needs to send exact signals and read hardware status directly. |
| Embedded system | A small computer built into another device, such as a bike's electronic gear shifter. Memory is limited, so compact code matters. |
| Real-time system | A system that must respond within a fixed time, such as a warehouse robot's motor controller. Predictable, fast instructions help it meet deadlines every time. |
Edexcel GCSE Computer Science · Low and High Level Languages