Generation of programing language


 Related image

Before talking about the programing language Generation let’s talk what computer program is?

•Program is a collection of suitably ordered instructions,
• the instructions that a program needs are written (or coded) in some programming language,
• And it is executable by a computer to perform a specific task. The logical content of a program is based on one or more algorithms.

The logical content of a program is based on one or more algorithms. Algorithm. So, What about the Algorithm?

Algorithm is a logical part of a computer program which specifies the solution of a well-defined task,
• Actually, Algorithm is a self-contained step-by-step set of operations.
 
What is Programming Language?
 Image result for Third Generation Programming Language (3GL) transparent
 A Programming language is a formal language which specifies a set of instructions and the rules of their application. By the correct use and combination of the instructions we can create our programs.
A lot of programming languages have been developed since the beginning of computer science and the development has not finished yet. Actually, a continuous development is going on in the world of programming languages. Some of them can be considered as general general-purpose languages while others are closely connected to some field of science or technology or other special purpose that’s why its called specific languages
For example:
general-purpose languages: C, C++, Java, Python etc.
specific languages:
MATLAB and GNU Octave for matrix programming, Mathematica, Maple and Maxima for symbolic mathematics, SQL for relational database queries etc.
Programming languages must be classified into programming language generations. Because this classification will reflect the development in programming styles and languages.

Programming language generation

Programming languages have been classified into Five programming language generations. This classification is based on increasing power of programing styles and configuration.
Image result for what is generation programming languageActually, according to computer engineers there are three types of programming language:
  •  Machine language (Low-level language)
  • Assembly language (Low-level language)
  • High-level language
• Low-level languages are closer to the language used by a computer, while high-level languages are closer to human languages and this three types of programing language are divided into Five generation: And they are:

1.    First Generation Programing Language (1GL)

2.    Second Generation Programing Language(2GL)

3.    Third Generation Programing Language(3GL)

4.    Fourth Generation Programing Language(4GL)

5.    Fifth Generation Programing Language(5GL)

1.First Generation Programing Language (1GL)

Related imageFirst generation of programming language refers to machine language. Machine language is lower level language which uses object code (sometimes also known as machine code). Object code is the combination of binary digits. These languages directly talk to hardware. The instructions are actually binary numbers which can be expressed in octal or hexadecimal format to reduce the length of instructions in a program. These programming languages are hardware-dependent which means that the instruction set is specific to a class of processors using the same hardware architecture. For example, the machine code 00000101 causes the CPU to decrement the numeric value actually held by B processor register in the case of a Zilog Z80 processor. (The registers of a processor are denoted by capital letters. A register is a data holding place inside a processor). Because of the hardware-dependency, a programmer has to know the details of the hardware components to write a program in a machine code.
After loading the program into the memory, it is directly executed by a computer's central processing unit (CPU). There is no need to apply any utility program which translates or interprets the code.
1GL languages were fundamentally used in the 1940-s to 1950-s. Some of them were applied later in programming industrial micro controllers.
UNIVAC (UNIVersal Automatic Computer) and 1GL is used in it.

2. Second Generation Programming Language (2GL) 

Image result for machine code gif 
Second generation of languages is also low-level language which is known as assembly language. Assembly languages are the interface between Machine level languages and High-level languages.
The so-called assembly languages use very simple symbolic names (mnemonics) to refer to machine code instructions instead of numeric values.
For example, DEC B instruction in an assembly language corresponds to the machine code 00000101on the Zilog Z80 processor. They are also hardware-dependent (specific to a particular computer architecture). They are low-level programming languages, but the abstraction level is higher than that of machine code languages. It means that an assembly program is more readable, and programming in an assembly language is easier and faster than in a machine code language.
An assembly language program is shorter than its correspondent machine code program.
Unlike a machine code program, an assembly language program cannot be executed directly by the CPU. A special utility program called assembler is used for converting the source code into a machine code program.
They were mostly used in the 1950-s to 1960-s.
PDP-11 minicomputers (1970) manufactured by Digital Equipment Corporation (DEC) was a great used of 2GL.

3. Third Generation Programming Language (3GL)
Image result for Third Generation Programming Language (3GL) transparent 
 Third Generation programming languages are High level Programming languages.
The abstraction level of these languages was raised by introducing several new and useful elements in programming. Their most important features are the application of
 • different data types and structures
For example:
  •  integer,
  •  float,
  • double,
  •  arrays
• control structures
For example:
  • conditional branches,
  •  loops
• several operators
For example:
  •  arithmetic,
  • relational and
  • logical operators.
Due to these innovations the program development became significantly easier and faster. Keywords, numbers and other symbols are used for building the so-called source code of a program which is easily understandable compared to an assembly code.
Contrary to machine code and assembly languages, high level languages are not hardware-dependent. The source code, however, cannot be executed directly by a computer. Two different ways of processing source codes are used in practice. The one is converting the whole source code into a machine code by means of a utility program called compiler. This process is called compilation. The compiled code is stored in an executable file. This file can already be executed directly at any time by the computer.
The other way is converting and executing a source code line by line by means of a utility program called interpreter. The interpreter provides a runtime environment for source codes. But the interpretation process does not create an executable file for the program. Therefore, the interpretation process will be repeated whenever a program must be run. Examples for compiled languages: Fortran, Basic, Turbo Pascal, C, C++ Example for interpreted languages: Java, Perl, Ruby High-level languages have been widely used in programming since the second half of the 1960-s.
The used of 3GL is in Apple II home computer (1977)

4. Fourth Generation Programming Language (4GL) 
Image result for SQL transparentImage result for matlab  transparent
Fourth Generation Language is the set of current generation programming languages. These languages are similar or closer to human languages.
The main purpose of designing newer languages with higher abstraction level was facilitating and accelerating the process of software development. 4GL languages are also known as very high-level languages because a single 4GL instruction may replace several 3GL instructions, so the source codes are shorter and more similar to a text written in a natural language (generally in English) than those of 3GL languages. Most of them are aimed at solving specific problems (domain specific languages).
For example:
*    SQL is a language to query databases,
*    Oracle Reports is a language to making reports,
*    XUL is a language to construct graphical user interfaces,
*    MATLAB is a language to solve scientific and engineering problems,
*    4GL languages allow also the users who are not computer professionals to develop programs and software,
*    The first 4GL languages were developed in the 1970s and this generation are making our days easier.

5.Fifth Generation Programming Language (5GL) 

Related image
Related imageLanguages used for writing programs for Artificial Intelligence, Neural Network, and Plasma Computing etc. come under 5GL. This is the future of programming language. The development of these languages was closely connected to the artificial intelligence research of the 1980s (e.g. PRO-LOG, Mercury, LISP). The instructions used in 5GL languages are highly sophisticated. It means that hundreds of 4GL instructions may be replaced by a single 5GL instruction. The most modern 5GL languages use visual or graphical development interfaces which enable the programmer to create programs without typing any source code. These languages are mostly domain specific.

Comments

Popular posts from this blog

Will it Ever be Possible to Achieve World Peace?

The Dark Web

Digital World, Software and the People.