Feature |
Low level Languages |
High level languages |
Examples |
Machine code(binary) Assembly languages |
Python C++ Javascript etc. |
Portability |
Machine specific. Each processor or family of processors has its own machine code instruction set and its own assembly code instruction set. |
Machine independent. A high level language can be translated to be run on a variety of processors. |
Efficiency |
Assembly code instructions have a one to one relationship with machine code instructions so they are less efficient to write than high level languages |
One high level language instruction might translate to several machine code instructions. If we look at a command like total = num1 + num2, we see it would require a LOAD, ADD and STORE command to be completed to
complete thus task. |
Ease to learn |
It is essentially impossible for a human to recall all the codes to effectively program in binary. Although in time a programmer may learn the mnemonics, there are fewer instructions
and this makes it more complex to write programs with and therefore harder to learn. |
High level languages use words similar to natural language and so are easier to recall. Specialist high level languages make dealing with certain tasks far more efficient. |
Translator |
Binary code is ready to be executed and does not need to be translated. Assembly code is translated by an assembler. If you want to learn more about this investigate the Little Man Computer. |
High level code is translated with either a compiler or an interpreter. More on this in the next section of the website. |
Execution |
Binary executes fastest because it doesn't need to be translated first. Because they are written specifically for a processor asembly languages are very memory efficient and therefore execute faster. |
High level languages must be translated first and this could result in more binary commands. |
Uses |
When a high level program, known as source code, has been translated into machine code it is known as object code. This can be sold without the user getting to see the copyright source code.
Assembly languages are often used to program embedded systems which we will learn more about later in the course. |
Most major software is written in high level languages. |