Low-Level Languages

A programming language is a well-defined, structured language, which comprises a set of instructions for computers to make them perform specific tasks or operations. Computer programmers write their programs using one of many languages available depending on what they are writing programs for.

Low-level programming languages can be classified into the following:

Machine Language

This is a language that is written as a sequence of binary digits (bits), in other words, a sequence of 0s and 1s. The Central Processing Unit (CPU) of a computer understands this sequence of bits and executes the instructions coded in the sequence. Every type of CPU is designed differently and has its version of machine language as specified by the designers of the processor. So a machine language program written for one type of processor will only work on that type of processor.

Each instruction makes the CPU perform a specific task, such as reading data from an input device, writing the data to storage, performing an arithmetic or logical operation, or controlling a peripheral such as the monitor to display data. A machine language program also indicates the sequence in which instruction should be executed and how many times should be repeated in a loop, which will be decided according to certain conditions.

While it is theoretically possible for humans to write programs directly in machine language, it is highly impractical, almost to the point of being impossible.

Assembly Language

This is a language that is slightly more human-readable than machine language but not much more so. It uses alphanumeric codes to represent instructions instead of the 0s and 1s in machine language. It is quite possible to write programs for small computers (such as those embedded in simple devices, like a washing machine or traffic lights) using assembly language; however, a programmer needs to be an expert in the assembly language for the specific processor used in that device. Assembly language is finally translated into machine language by a program known as an assembler.

Machine and assembly languages are referred to as low-level languages, mainly because they are understood very well by computers but not by humans.

This is what a program in assembly language looks like:

Assembly Language Example