Generations of programming languages
A programming language is a set of grammatical rules for instructing a computer or
computing device to perform specific tasks.
1. First Generation Programming Language (1GL)
First generation of programming language refers to machine language or 1GL. Machine
language is a set of instructions and data that a computer's central processing unit can execute
directly. Machine language is lower level language which uses object code (sometimes also
known as machine code). Object code is the combination of binary digits. Each statement
corresponds to one machine action.
2. Second Generation Programming Language (2GL)
Second generation of programing languages is also low level language which is known as
assembly language. It is also called low level language because assembly language is so close
in nature to machine language. Assembly languages use mnemonic operation codes and
symbolic addresses in place of 1s and 0s to represent the operation codes. Symbolic
addressing is the ability to express an address in terms of symbols chosen by the programmer
rather than in terms of the absolute numerical location. Assembly language is the human-
readable notation for the machine language used to control specific computer operations.
Assembly languages are the interface between Machine level language and High level
languages.
3. Third Generation Programming Language (3GL)
Third Generation programming languages (high-level programming languages) are
procedural languages which use series of English-like words, which are closer to human
language, and easier to write. They are called procedural languages because the program
instructions comprise lists of steps, procedures, that tell the computer not only what to do but
how to do it. High-level programming languages make complex programming simpler and
easier to read, write and maintain. Programs written in a high-level programming language
must be translated into machine language by a compiler or interpreter. PASCAL, FORTRAN,
BASIC, COBOL, C, Java and C++ are examples of third generation programming languages.
4. Fourth Generation Programming Language (4GL)
This is the set of current generation programming languages. These languages are similar or
closer to human languages. They are non-procedural languages, so named because they allow
programmers and users to specify what the computer is supposed to do without having to
specify how the computer is supposed to do it.
5. Fifth Generation Programming Language (5GL)
These are type of languages that contain visual tools to help build up a program. These
languages are still in developing stage where we could write statements that would look like
normal sentences. The structure of statements in this language is similar to the normal
sentences that we use for communication. Natural language processing allows the fifth
generation language make program to process and analyze large amounts of natural language
data and generate result. Languages used for writing programs for Artificial Intelligence,
come under 5GL.