System programming languages were introduced as an alternative to assembly languages.
System programming languages are less efficient than assembly languages but they allow applications to be developed much more quickly.
As a result, system programming languages have almost completely replaced assembly languages for the development of large applications.
Higher-Level Languages
System programming languages differ from assembly languages in two ways:
(i) they are higher level and (ii) they are strongly typed.
The term “higher level” means that many details are handled automatically, so programmers can write less code to get the same job done.
Typing
The term “typing” to refer to the degree to which the meaning of information is specified in advance of its use.
Modern computers are basically typeless.
In contrast, today's system programming languages are strongly typed.
Typing has several advantages:
It makes large programs more manageable by clarifying how things are used and differentiating among things that must be treated differently.
Compilers use type information to detect certain kinds of errors, such as an attempt to use a floating-point value as a pointer.
Typing improves performance by allowing compilers to generate specialized code.