Programming Languages
A computer program is a list of instructions that enable a computer to perform a specific task.
Computer programs can be written in high and low level languages, depending on the task and the
hardware being used.
High Level Language
High level languages are written in a form that is close to our human language, enabling to
programmer to just focus on the problem being solved.
Advantages
Easier to modify as it uses English like statements
Easier/faster to write code as it uses English like statements
Easier to debug during development due to English like statements
Portable code – not designed to run on just one type of machine
Low Level Languages
Low level languages are used to write programs that relate to the specific architecture and hardware
of a particular type of computer.
They are closer to the native language of a computer (binary), making them harder for programmers
to understand.
Examples of low level language:
Assembly Language
Machine Code
Advantages
Can make use of special hardware or special machine-dependent instructions (e.g. on the
specific chip)
Translated program requires less memory
Write code that can be executed faster
Total control over the code
Can work directly on memory locations
So, what’s the difference between high level language and low level language?
High level Vs Low Level
1. It is programmer friendly language. It is a machine friendly language.
High level language is less memory Low level language is high memory
2. efficient. efficient.
3. It is easy to understand. It is tough to understand.
4. It is simple to debug. It is complex to debug comparatively.
5. It is simple to maintain. It is complex to maintain comparatively.
1
6. It is portable. It is non-portable.
Translators
Computers only understand machine code (binary), this is an issue because programmers
prefer to use a variety of high and low-level programming languages instead.
To get around the issue, the high-level and low-level program code (source code) needs to
pass through a translator.
A translator will convert the source code into machine code (object code).
There are several types of translator programs, each able to perform different tasks.
Examples of translators:
Compiler – for high-level languages
Interpreter – for high-level languages
Assembler – for low-level assembly language
Compiler
A compiler translates the whole program into machine code before the program is run.
Compilers are used to translate a program written in a high-level language (source code) into
machine code (object code).
Code is compiled all in one go, producing an independently executable file.
Assembler
'An assembler translates assembly language into machine code. Assembly language is a low-level
language written in
Interpreter
An interpreter translates code into machine code, instruction by instruction
An interpreter does not create an independent final set of source code - source code is
created each time it runs.
Interpreted code is slower to execute than compiled code.