There are two types of programming languages, which can be categorized into the following ways:
1. Low level language
- Machine language (1GL)
- Assembly language (2GL)
2. High level language
- Procedural-Oriented language (3GL)
- Problem-Oriented language (4GL)
- Natural language (5GL)
1. Low level language
This language is the most understandable language used by computer to perform its operations. It can be further categorized into:
- Machine language (1GL)
Machine language consists of strings of binary numbers (i.e. 0s and 1s) and it is the only one language, the processor directly understands. Machine language has an Merits of very fast execution speed and efficient use of primary memory.
Merits:
- It is directly understood by the processor so has faster execution time since the programs written in this language need not to be translated.
- It doesn’t need larger memory.
Demerits:
- It is very difficult to program using 1GL since all the instructions are to be represented by 0s and 1s.
- Use of this language makes programming time consuming.
- It is difficult to find error and to debug.
- It can be used by experts only.
- Assembly language
Assembly language is also known as low-level language because to design a program programmer requires detailed knowledge of hardware specification. This language uses mnemonics code (symbolic operation code like ‘ADD’ for addition) in place of 0s and 1s. The program is converted into machine code by assembler. The resulting program is referred to as an object code.
Merits:
- It is makes programming easier than 1GL since it uses mnemonics code for programming. Eg: ADD for addition, SUB for subtraction, DIV for division, etc.
- It makes programming process faster.
- Error can be identified much easily compared to 1GL.
- It is easier to debug than machine language.
Demerits:
- Programs written in this language is not directly understandable by computer so translators should be used.
- It is hardware dependent language so programmers are forced to think in terms of computer’s architecture rather than to the problem being solved.
- Being machine dependent language, programs written in this language are very less or not protable.
- Programmers must know its mnemonics codes to perform any task.
2. High level language
Instructions of this language closely resembles to human language or English like words. It uses mathematical notations to perform the task. The high level language is easier to learn. It requires less time to write and is easier to maintain the errors. The high level language is converted into machine language by one of the two different languages translator programs; interpreter or compiler.
High level language can be further categorized as:
- Procedural-Oriented language (3GL) Procedural Programming is a methodology for modeling the problem being solved, by determining the steps and the order of those steps that must be followed in order to reach a desired outcome or specific program state. These languages are designed to express the logic and the procedure of a problem to be solved. It includes languages such as Pascal, COBOL, C, FORTAN, etc.
Merits:
- Because of their flexibility, procedural languages are able to solve a variety of problems.
- Programmer does not need to think in term of computer architecture which makes them focused on the problem.
- Programs written in this language are portable.
Demerits:
- It is easier but needs higher processor and larger memory.
- It needs to be translated therefore its execution time is more.
- Problem-Oriented language (4GL)
It allows the users to specify what the output should be, without describing all the details of how the data should be manipulated to produce the result. This is one step ahead from 3GL. These are result oriented and include database query language.
Eg: Visual Basic, C#, PHP, etc.
- The objectives of 4GL are to:
- Increase the speed of developing programs.
- Minimize user’s effort to botain information from computer.
- Reduce errors while writing programs.
Merits:
- Programmer need not to think about the procedure of the program. So, programming is much easier.
Demerits:
- It is easier but needs higher processor and larger memory.
- It needs to be translated therefore its execution time is more.
- Natural language (5GL)
Natural language are stil in developing stage where we could write statrments that would look like normal sentences.
Merits:
- Easy to program.
- Since, the program uses normal sentences, they are easy to understand.
- The programs designed using 5GL will have artificial intelligence (AI).
- The programs would be much more interactive and interesting.
Demerits:
- It is slower than previous generation language as it should be completely translated into binary code which is a tedious task.
- Highly advanced and expensive electronic devices are required to run programs developed in 5GL. Therefore, it is an expensive approach.
These are the different types of programming languages with their merits and demerits.
Top comments (0)