Different Generations of Programming languages
FIRST
GENERATION: MACHINE LANGUAGE
This concept is precisely
connected to the advances in technology that brought about different
generations of the computer.
I Generation languages (1950 –Machine
Level Language / Low level language / Binary Language):-
In
this language all the instructions are understood by the system. These programs
are executed very quickly and efficiently. Since it is directly executed by the
CPU. These languages are machine languages. To write programs in these
languages the system technology must be required. The data is Non-portable.
That means a program written in a system does not work in another systems.
Advantage:
The
main advantage of machine language is that the code can run very fast and
efficiently, since it is directly executed by the CPU.
Disadvantage:
·
However, this language is difficult to learn and is far more difficult
to edit if errors occur. Moreover, if new instructions are to be added into
memory at some location, then all the instructions after the insertion point
would have to be moved down to make room in memory to accommodate the new
instruction.
·
Also code written in machine language is not portable.
·
It is very difficult to
write the programme and to portability.
II Generation Language (Mid 1950 –Assembly level
language):-
It
uses symbolic codes also known as mnemonic codes which are easy to remember
abbreviations rather than numbers. EX:- STORE,SUB,ADD,DIV,MOVE
Assembler is used to convert assembly
level language into machine level language.
·
It is easier than machine
level language.
·
It doesn’t
support portability.
·
These Are Assembly
Languages. This Are Also system oriented that means to write any program in a
system that system’s technology must be required and data is non-portable. But they used MNEMONIC words in programs.
That means they used a single word instead of more words.
Advantages:
à it
is easier than machine level language.
à it doesn’t
support portability.
III Generation Language (1960-1970
–High Level language):-
These language syntaxes are more like
human language.
To converting high level languages into
machine code special programs are used called compiler and interpreter.
·
It is a refinement of 2GL which spurred the great increase in data
processing that occurred in the 1960s and 1970s. In these languages, the
program statements are not closely related to the internal characteristics of
the computer and are therefore often referred to as high-level languages.
·
Generally, a statement
written in a high-level programming language will expand into several machine
language instructions.
·
Languages and machine
languages. 3GL includes languages like FORTRAN and COBOL.
·
A translator is needed to
translate the instructions written in high level language into
computer-executable machine language. Such translators are commonly known as
interpreters and compilers.
·
3GLs makes it easier to
write and debug a program and gives the programmer more time to think about its
overall logic. The programs written in such languages are portable between
machines.
IV Generation Language (1970-1980
very high level language):-
4GLs
are nonprocedural languages. When writing code using a procedural language, the
programmer has to tell the computer how a task is done. In striking contrast,
while using a nonprocedural language the programmers define only what they want
the computer to do, without supplying all the details of how it has to be done.
Characteristics of 4GLs include:
The code is written in English-like
sentences; the code is easier to maintain4GL code enhances the productivity of
the programmers as they have to type fewer lines of code to get something done.
A typical example of a 4GL is the (SQL) Structured query language that allows a
user to request information from a database with precisely worded English-like
sentences.
4GLs are still evolving and it’s only down
side is that it does not make efficient use of machine’s resources. However,
the benefit of executing a program fast and easily far outweighs the extra
costs of running it.
It is easier than 3GL 4 GL used to either
text environment or visual environment. in text environment, the programmer
uses English like words generating source code.
In visual environment the programmer uses
a toolbar to design screens. EX:-
.NET, authoring environment, sun studio.
For
high level languages we have to use translators to translate the source code
written in general English language into machine language. These translators
are two types.
1) Interpreters, 2) Compilers.
1)
Interpreter: it translates the source code step by
step into machine language until any error. If there is any error it stops and
shows some message. After correction it can continue.
Ex: BASIC, DBase III+, ....
2) Compilers :it translators translate the entire source code into
machine language when it is error-free and creates an object file in machine language.
If there is any error it shows the list of error. After debugging it creates
the object file.
Ex:
COBOL, C, C++, ...
V Generation Language :-
5GLs are widely used in artificial
intelligence research.
in 5GLs problems are solved using
constraints given to the program rather than using an algorithm written by
programmer.
EX:- prolog, LISP,OPS5
WWW languages:- used
to create web pages. Ex:- HTML,DHTML,XSL, XHTMLMP, ASP,JSP etc.
Comments
Post a Comment