So, Computer languages may be classified into three categories,
Machine level language or Low-level language:-
Computer directly understands this language. It is a language of 0’s and 1’s (binary). Moreover, Every CPU has its own machine language.
- It is very fast in execution
- It does not require any extra system or software to run the program.
- Translation is not required.
- Suitable for low volume applications.
- Programs are long and difficult to write and understand for the human.
- Debugging is the very difficult task.
- Also, It is not portable.
- Moreover, Programmer requires detailed knowledge of the architecture of the microprocessor.
Every machine language instruction is assigned to English word MNEMONIC such that it should describe the function of instruction.
A system cannot understand this language directly so we require translator that convert assembly language to machine language. Moreover, This translator is called assembler. Example: 8086 Instruction Set
- Programs are easy to understand compared to machine level language.
- Moreover, Programs smaller in size compared to machine level language.
- Programs can enter quickly using an alphanumeric keyboard.
- It is not portable.
- The programmer should know the structure of assembly language of a microprocessor.
- It requires assembler as a translator.
Higher level language
We can write programs in English like manner and it is more convenient to use.
Also, Programmes can perform a complex task by using high-level languages with fewer efforts.
Moreover, It is similar to natural language and mathematical notation.
Example: C, C++, Java, etc…
- Easier to learn.
- Requires less time to write.
- Also, Provides better documentation.
- Easier to maintain.
- It is portable.
- It requires compiler or interpreter to convert higher level language to machine language.
- Moreover, Programmers need to learn the structure of high-level language.
- Also, It is bit slow compared to low level and medium level language.