6.1: Language Levels
Eduqas / WJEC
There are two types of programming languages used within computer systems:
Why do programmers use high-level languages?
High-level programming languages use code written in a way that is similar to a natural human language, such as English, making it easier to understand and use the language.
Using high-level languages leads to fewer errors and allows for more powerful and complex commands compared to low-level languages.
However, a high-level language must be translated into machine code (binary) before it can be run, as high-level languages cannot be executed directly by the CPU.
Popular high-level languages:
Low-level languages do not closely resemble a natural human language, making it harder for humans to understand and write in.
Low-level languages are used when a program must be executed quickly or when programmers need to write code that interacts directly with the hardware, such as device drivers.
There are two types of low-level language:
This is the pure binary code that computers can directly process and execute.
It is extremely tedious and difficult for humans to understand and write machine code.
However, machine code can be used when a programmer needs to perform a very specific command that can't be done in a high-level language.
Machine code will be executed faster than high-level programs because it is already in a format the CPU can execute and does not need to be translated.
0010 1011 0101 0101 0110 0111 0101 0001 0101 0101 0101 0100 1010 1010 1010 1010 1111 1110 0010 1001 0100 1001 0010 0111 0111 0101 0011 1010 1000 0101 0110 0111 0000 1010 1010 0011 1101 1001 0010 1101 0010 0100 1001 0011 1010 1001 0101 0101 0010 0101 0111 0101 0101 1000 1011 0111
Assembly language uses specialised command mnemonics to perform actions. See the Assembly Language section in the programming tab for a list of mnemonics such as INP, OUT and HLT.
Assembly language is preferred by many programmers over machine code because it is easier to understand and spot errors.
It is faster to execute than high-level languages and, like machine code, can be used to directly control the CPU.
6.1 - Language Levels:
1a. Describe three reasons why programmers use high-level languages. 
1b. Explain one limitation of using high-level languages. 
2a. Describe a key difference between low-level languages and high-level languages. 
2b. Describe when a low-level language would be used instead of a high-level language. 
2c. Describe an advantage and a disadvantage of writing directly in machine code. 
2d. Describe what assembly language is. Give one benefit to using assembly language instead of machine code and one benefit to using it instead of a high-level language. 
3. Compare high-level and low-level languages by stating which is:
a. Easier to understand 
b. Requiring translation 
c. Quicker to execute