Low and High Level Languages
Machine code is the set of binary instructions that a CPU can carry out directly. Each instruction is stored as a pattern of 1s and 0s, and the processor needs no translation step before acting on it. Machine code is a low-level language because it matches the processor's own instructions. Binary on its own can just be data; it is machine code when the bit pattern is arranged as an instruction the processor recognises.
Every machine-code instruction does one very small, specific job. For example, one instruction might copy a value from memory, another might add two values, and another might store a result back in memory. Working out the average of three quiz scores therefore takes a sequence of instructions: bring in each score, add them, divide by three, then save the answer. No single instruction carries out the whole calculation.
Writing a program directly in machine code means choosing the exact binary pattern for every one of those small steps. You have to remember the pattern for each instruction and which bits hold the values, and a single misplaced bit can change what the CPU does. Long programs contain huge numbers of instructions, so writing them by hand is slow and tiring.
This also makes machine code hard to read and check. Even a short section can be difficult to follow because you are reading binary patterns rather than meaningful words. The difficulty is not that the CPU struggles with it - machine code is exactly what the CPU is built to run - but that people find it awkward to produce and maintain.
Edexcel GCSE Computer Science · Low and High Level Languages