Menu

Low and High Level Languages

Low-Level Language Advantages and Uses

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.

Direct control and efficiency

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.

A low-level program writes a pixel straight to a chosen video memory address or sends data to an I/O port, with cards for device drivers, embedded systems and real-time systems.

Where they are used

Low-level languages are chosen when hardware control or efficiency matters more than easy programming. Three common uses are shown below.

UseWhy a low-level language suits it
Device driverSoftware 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 systemA small computer built into another device, such as a bike's electronic gear shifter. Memory is limited, so compact code matters.
Real-time systemA 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.

Practise this