Generation of programing language
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?
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.
- 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)
First 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)
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)
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)
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)
Languages
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.
Mercury, OPS5, and Pro-log are
the example of Fifth Generation language.
Source:
https://en.wikipedia.org/wiki/Programming_language_generations
https://en.wikipedia.org/wiki/Machine_code
https://en.wikipedia.org/wiki/Procedural_programming
Source:
https://en.wikipedia.org/wiki/Programming_language_generations
https://en.wikipedia.org/wiki/Machine_code
https://en.wikipedia.org/wiki/Procedural_programming
Comments
Post a Comment