A Programming language is one with which users can communicate with the computer by writing a program or instructions. Every computer programming language consists of a set of predefined words and a set of rules called syntax which is used to create instructions for a program. In this article, we will discuss the difference between High Level and Low-Level Languages which is one of the common topics that is touched upon in competitive exams.
Classification of Computer Programming Languages:
The Computer programming languages are categorized as –
- Low Level Language
- Middle Level Language
- High Level Language
Low Level Language
- Low level language are also called as Machine Language.Another name for Machine language is Machine code.
- Binary language is an example of a LLL or low level language. The binary language is made up of only two symbols namely, 1 and 0. Every instruction of a binary language is written in the form of binary numbers 1’s and 0’s. A computer can directly this
- First generation language is the Low Level Language.
Advantages of LLL ·
- A low level language is easily understood by a computer.
- Low level language instructions can be are executed directly without any translation.
- Low level language instructions require minimal time for their execution.
Disadvantages of LLL·
- Low level language instructions are very difficult for the user to use and understand.
- Low level language instructions are machine dependent, e. a program written for a particular machine cannot be executed on a different machine. ·
- In low level language, there is difficultly in finding errors, debugging and modifying.
Middle Level Language
- Middle level language is also referred to Symbolic language or Assembly
- Assembly language is a form of Middle level language.
- In Assembly language, the instructions are generated using symbols such as digits, letters, and special characters.
- Predefined words called mnemonics are used in Assembly Language.
- A program written is this language using mnemonics known as an assembly language program or symbolic program.
- The process of translating an assembly language program into its equivalent machine language program is done with the use of an assembler, or in other words an Assembler is used to translate a middle level language to a low level language.
Advantages of MLL
- In middle level language,it is easier to write instruction.
- Middle level language is more reliable.
- It is easy to understand, find error and modify a Middle Level Language.
Disadvantages of MLL·
- Middle level language or MLL is machine dependent.
- Middle level language needs an assembler to translate it into low level language.
- Middle level language takes longer time for execution compared to low level language.
High Level Language
- High level Language is easily understood by the end
- It is equivalent to the human language and has a set of grammar rules that are used which makes the instructions more easier to understand.
- Every HLL has a set of predefined words or keywords along with a set of rules known as syntax.
- High level language is a programming language like COBOL, BASIC, FORTRAN, C,C++, JAVA etc.
- All these programming languages are used to write program instructions which are later converted to low level language by the compiler or interpreter.
Advantages of HLL·
- Writing instructions in HLL is much easier for the user.
- High level language is easily readable and understandable.
- High level language program works on different machines without any modification or it is independent of machine.
- It is easy to understand, create programs, find errors and modify.
Disadvantages of HLL·
- High level language instructions or HLL has to be translated to low level language using a compiler or interpreter.
- Compared to low level and middle level language they are very slow in execution.
- Lack of flexibility.
- Lower efficiency.
We will now have a look at the differences between High-Level and Low-Level programming languages −
|High-Level Language||Low-level language|
|It can be considered as a coder friendly language.||It is considered as a device-friendly language.|
|It uses a compiler/interpreter to be translated into machine code.||It uses an assembler that would translate instructions.|
|It can be ported from one position to another.||It is not portable.|
|It is easy to understand.||It is difficult to understand.|
|It can be easily debugged.||It is difficult to debug.|
|Memory efficiency is low, i.e., it consumes more memory compared to low-level languages.||It consumes less memory.|