The Various Generations of Programming Languages
Computer languages were first composed of a series of steps to wire a particular program – these changed into a series of steps keyed into the computer and then executed – later these languages acquired features such as logical branching and object orientation.
First – generation Language
When computers were no longer being rewired but rather programmed using some form of input, computer programming took the form of numbers and numbers alone. This exclusive use of numbers to command or instruct computers in their operations was called first -generation language. It is a low - level language.
A first – generation language (1GL) is a machine language, that is, programs are coded in 0s and 1s. The main benefit of 1GL is that code written by a user can run very fast and efficiently due to the fact that the Central Processor Unit (CPU) executes the instructions directly. However, there were many drawback to 1GL. In the first place, portability is a problem because of various architectural considerations, for example, if two CPU’s differ in their architecture, the program has to be rewritten completely. It is also very difficult to code and even more difficult to debug.
Second – generation Language
Second – generation language (2GL) refers to some form of assembly language but the code, unlike 1GL, can be fairly easily written or read by a programmer. It must be converted into machine-readable form before running it on a computer. This means converting the assembly language into binary machine language. This low – level language has major speed advantages but requires a great deal of programming effort and is difficult to use effectively in large applications.
Third – generation Language
A third – generation language (3GL) is a high – level programming language designed to be easier to understand for the user and includes named variables and structured programming. 3GL uses a compiler to convert the statements or instructions of a specific language into machine language. A 3GL language requires a great deal of programming language.
Fourth – generation Language
A fourth – generation language (4GL) is designed to be closer to natural language than a 3GL language. 4GL programs were developed with a specific purpose in mind, such as the development of commercial business software. Most 4GL languages are used to access databases and are typically non – procedural. They are designed to be used by end users and to develop applications quickly.
Fifth – generation Language
A fifth – generation language (5GL) is a programming language based on solving problems using constraints given to the problem, rather than using algorithm written by a programmer. An algorithm is like a recipe used to bake a cake. In 4GL the programming adds all the ingredients together to bake the cake, but a fifth – generation language is itself a master cook that uses the given ingredients to bake a cake.
The different between 4GL and 5GL is that the programmer only needs to worry about which problem to solve and which conditions to meet. Today fifth – generation languages have lost part of their initial appeal and are mostly used in academic circles