Wednesday, January 08, 2020

Generations of programming language


Programming languages have been developed over the year in a phased manner. Each phase of developed has made the programming language more user-friendly, easier to use and more powerful. Each phase of improved made in the development of the programming languages can be referred to as a generation. The programming language in terms of their performance reliability and robustness can be grouped into five different generations,
Generations of programming language
  1. First generation languages (1GL)
  1. Second generation languages (2GL)
  1. Third generation languages (3GL)
  1. Fourth generation languages (4GL)
  1. Fifth generation languages (5GL)
1. First Generation Language (Machine language)
  • They are translation free and can be directly executed by the computers.
  • The programs written in these languages are executed very speedily and efficiently by the CPU of the computer system.


  • The programs written in these languages utilize the memory in an efficient manner because it is possible to keep track of each bit of data.

    The first generation programming language is also called low-level programming language because they were used to program the computer system at a very low level of abstraction. i.e. at the machine level. All the commands and data values are given in ones and zeros, corresponding to the "on" and "off" electrical states in a computer. In machine language, all instructions, memory locations, numbers, and characters are represented in strings of zeros and ones. Although machine-language programs are typically displayed with the binary numbers translated into octal (base-8) or hexadecimal (base-16), these programs are not easy for humans to read, write, or debug. machine language also referred to as the native language of the computer system is the first generation programming language. In the machine language, a programmer only deals with a binary number.
2. Second Generation language (Assembly Language)
  • It is easy to develop understand and modify the program developed in these languages are compared to those developed in the first generation programming language.
  • The programs written in these languages are less prone to errors and therefore can be maintained with a great case.
    The second generation programming language also belongs to the category of low-level- programming language. The second generation language comprises assembly languages that use the concept of mnemonics for the writing program. In the assembly language, symbolic names are used to represent the opcode and the operand part of the instruction. Assembly languages are symbolic programming languages that use symbolic notation to represent machine-language instructions. Symbolic programming languages are strongly connected to machine language and the internal architecture of the computer system on which they are used. They are called low-level languages because they are so closely related to the machines. Nearly all computer systems have an assembly language available for use. Examples of these codes include A for add, CMP for compare, MP for multiply, and STO for storing information into memory.
3. Third Generation languages (High-Level Languages)
  • It is easy to develop, learn and understand the program.
  • As the program written in these languages are less prone to errors they are easy to maintain.
  • The program written in these languages can be developed in very less time as compared to the first and second generation language.

    The third generation programming languages were designed to overcome the various limitations of the first and second generation programming languages. The languages of the third and later generation are considered as a high-level language because they enable the programmer to concentrate only on the logic of the programs without considering the internal architecture of the computer system.

    Examples: FORTRAN, ALGOL, COBOL, C++, C
4. Fourth generation language (Very High-level Languages)
  • These programming languages allow the efficient use of data by implementing the various database.
  • They require less time, cost and effort to develop different types of software applications.
  • The program developed in these languages are highly portable as compared to the programs developed in the languages of other generation.

    The languages of this generation were considered as very high-level programming languages required a lot of time and effort that affected the productivity of a programmer. The fourth generation programming languages were designed and developed to reduce the time, cost and effort needed to develop different types of software applications.
    Advantages of fourth generation languages
    Examples: SOL, CSS, coldfusion
5. Fifth generation language (Artificial Intelligence Language)
  • These languages can be used to query the database in a fast and efficient manner.
  • In this generation of language, the user can communicate with the computer system in a simple and an easy manner.

The programming languages of this generation mainly focus on constraint programming. The major fields in which the fifth generation programming language are employed are Artificial Intelligence and Artificial Neural Networks

Examples: mercury, prolog, OPS5