logo

Study resource

Classification of programming languages revision notes

Study Classification of programming languages with curriculum-aligned Revision Notes resources, practice links, and exam-focused support.

At a glance

revision notes

Resource type

Topic

Classification of programming languages

AqaA LevelComputer ScienceFundamentals of computer systems

Revision notes

  • Classification of Programming Languages

    The main classification

    Programming languages have developed from forms closely connected to the processor towards forms that are more convenient for people to write and understand. The specification classifies machine code and assembly language as low-level languages. Imperative high-level languages are included in the high-level classification.

    Machine-code language

    Machine code is the low-level language directly represented as instructions that the processor can execute. Its instructions are expressed using binary patterns. Because the instructions are closely tied to the processor, machine-code programming provides very direct control over the operations performed. However, binary instructions are difficult for a programmer to read, write, check and modify. Machine code is also closely associated with a particular processor instruction set, so a program written for one processor may not be suitable for another.

    Assembly language

    Assembly language is also low level, but it represents machine-code instructions using symbolic operation names, often called mnemonics, rather than only binary patterns. An assembler translates assembly language into machine code. Assembly is therefore generally easier for a programmer to read and write than machine code, while remaining closely connected to the processor’s instructions. It still requires detailed knowledge of the processor and is less convenient to develop and maintain than a high-level language.

    Imperative high-level language

    An imperative high-level language describes a solution as a sequence of instructions that change the state of the program. It is high level because its statements are further removed from individual machine-code instructions than assembly language is. A compiler or interpreter is needed to translate or execute a high-level program so that the processor can carry out the required operations.

    Comparison

    Low-level programming can offer close control over the processor and can be appropriate when the exact machine operations matter. Its disadvantages include difficult programming, difficult maintenance and dependence on a processor’s instruction set. High-level programming is generally easier to understand, write and modify, but its statements do not provide the same direct representation of individual machine instructions.

    Common errors

    • Do not describe assembly language as machine code: both are low level, but assembly uses symbolic representations of instructions.
    • Do not classify an imperative high-level language as low level merely because it contains instructions.
    • Do not claim that low-level code is automatically faster in every situation; the key comparison here is its close relationship with the processor and the resulting advantages and disadvantages.
    • Do not confuse the classification with the translation process: machine code is already in the processor’s instruction form, whereas assembly and high-level programs require translation or interpretation before execution.

Related topics

Study nearby topics next