A programming language generation is a categorization of different programming languages according to their relative age and complexity, with newer programming languages considered more advanced.
Each generation introduces new features that enable better ways of solving old problems in computer science through the use of after 20 years these older technologies have become outdated because they no longer satisfy modern needs for reliability, efficiency and usability; thus, there has been an ongoing trend to develop new, more sophisticated languages.
1GL – First Generation Language
Programming languages that are considered to be in the 1GL typically provide only basic operations such as arithmetic and logical comparison. In addition, they often require programmers to specify explicit machine instructions for tasks like input/output or memory allocation. The earliest examples include assembly language (1947), Fortran ( 1957) and COBOL (1959).
2GL – Second Generation Language
2GL are also low-level languages. They were created with an emphasis on performance, flexibility and a vast array of features which was not possible before due to limitations concerning sheer computing power. They introduced code structuring techniques and allowed programmers to create more complex programs.
2GL are sometimes used in kernels and hardware drives, but more commonly used for video editing and video games.
3GL – Third Generation Language
3GL are high-level languages. The third generation of programming languages made a significant jump in terms of sophistication by introducing symbols for data types which could be used with the new Data-Structures that were being developed at this time, as well as providing support for object oriented programing (OOP) concepts. This was also when we saw the introduction of Compilers into our lives, such as C compilers from Bell Labs, COBOL compilers like Micro Focus Visual COBOL or IBM’s Basic compiler system.
4GL – Forth Generation Language
4GL brought us high level language constructs and features such as loops and subroutines, which were brought into the mainstream when IBM released PL/I in 1964.
4GL programming languages are similar to human instructions. Fourth generation programming languages are commonly used for database and scripting language. This generation introduces some popular and wide use languages, including SQL, PHP, Python, and Ruby.
5GL – Fifth Generation Language
5GL introduces a new level of abstraction with logic-based syntax, and allowed programmers to be more business oriented by incorporating declarative constructs such as queries or rules that would instruct the computer how to act based on conditions met. We saw this first majorly realized in Prolog created by Alain Colmerauer and Robert Kowalski at Xerox Parc between 1972 – 1977; then in SQL (see Structured Query Language) from Donald D. Chamberlin et al.; and finally Expert Systems like OPS.