Key points
Low-level languages generally allow for a one to one conversion into machine code (binary)
Hexadecimal notation is a low-level language
Assembly code is a low-level language
Assembly code is architecture dependent (different codes exist for different types of processor)
Assembly code is not fully portable because of architecture dependence
Assembly code needs to be converted to binary using an assembler
Low-level languages are hard to learn
Low-level languages are used for the following reasons:
Optimisation of code
Where no translator software exists
Greater control of hardware features (e.g. in small embedded computers such as home appliances)
Optimisation of code means creating code that places as little demand on system resources as possible. Low-level languages will place a much lighter load on RAM than a high-level language.
High-level languages would require more space in processor and memory to hold the translator software that will be used to create binary.
High-level languages
Most contemporary programming is carried out using high-level languages. High-level languages have the following characteristics:
Require translation
Portable
Easier to read, write and maintain as commands are similar to English
Allow access to module libraries
Use data types and data structures, selection statements and repetition/iteration constructs
Use logic operators and functions that are built into the language
High-level languages require translator software that will be held in RAM when a program is executed. It is the translator software that will take the code written in a high-level language and translate it into 'executable code'. Executable code is in binary form and can be understood by the processor. Unlike low-level languages, there is no one to one conversion between code and binary instructions.
Share with your friends: |