Menu

Low and High Level Languages

Choosing a Programming Language

Choose a language by asking what the program must do. A low-level language is a good fit when you need direct hardware control, speed or memory efficiency. A high-level language is a good fit for applications, portability and rapid development.

For example, a bike computer that reads a wheel sensor and updates the speed on screen may need low-level code so it can respond quickly and use little memory. A revision quiz app with menus, scores and saved progress is better suited to a high-level language: you can build it quickly and run it on a laptop or tablet with little rewriting.

What you trade away

ChoiceWhy it suits the jobTrade-off
Low-level languageDirect hardware control; speed; memory efficiencyHarder to learn, write, read and debug; less portable
High-level languageApplications; portability; rapid developmentMay be less efficient; less direct control over hardware

The trade-offs are connected. Low-level code gives precise control, but it is written for one type of processor, so moving it to different hardware means rewriting it. High-level code lets you build a working program sooner than you could in a low-level language, but the finished program may use more memory or run more slowly than a carefully optimised low-level version. The right choice is the one whose strengths matter most for that program, and whose weaknesses you can accept.

Practise this