programming language is a formal language that helps us define instructions so
that a machine can produce desired output. A programming language is usually defined
for a computer. We use programming languages to implement various algorithms.
history of the programming languages can be described in various generations,
namely, First, Second, Third, Fourth and Fifth.
generation programming language came into existence in th 1940s. The computers
can only perceive machine language. that is there are no changes required in
machine language so as to make the computer understand it. It is a language
that consists of only 1s and 0s. There are various machine languages, as the
language has to written according to the processor of the machine. Every type
of processor has its own requirements when it comes to the machine language. As
a result the machine language is also called machine dependent (also called
In the first
generation computers, programmers had to use machine language as there was no
other option available. Machine language programs have very fast execution
speed and a very efficient use of the primary memory. Machine language usage is
very tiring, tough and time consuming way of programming. Machine language is
low-level language. Since the programmer has to specify every detail of an
operation, a low-level language requires that the programmer have detailed
knowledge of how the computer works. It required the programmers to have
detailed knowledge of computer’s design and also about its functioning.
Consequently, there were very less programmers and lacked complexity. There
were also various problems with 1GL, such as Instructions had to be entered in
binary format, memory had to be manually moved around, the programs in 1GL were
tough to debug. IN order to make the task of programming easier, other
programming languages have been developed. However, these languages ultimately
have to be translated to machine language so that, the computer can understand
the intended meaning of the program.
specific binary delivered on Switches, Patch
Panels and/or Tape.
the first generation programming languages, the second generation of
programming languages came into existence in 1950s. The 2GL, also known as
Assembly languages, made software development easier and efficient. Assembly
languages used symbolic addresses and mnemonic operation codes instead of 0 and
1s, for the operation codes. Alphabetic abbreviations that are used as memory
aids are called as mnemonic. As a result abbreviations can be used rather than
having to remember lengthy binary codes. Usage of symbolic addressing enables
the programmer to do desired work without having to remember exact locations of
instructions or data. These languages consist of 3 elements: Opcodes, Data
sections and Directive.
assembly languages are easier to work with, but they also had their limitations
as well. As the programs in assembly language requires a language translator
program known as assembler in order to convert the program in machine language.
2GL are also platform specific. The main advantages of 2GL are: efficient
programs are produced that have faster execution.
every CPU architecture has a companion assembly language. Most commonly
in use today are RISC, CISC and x86 as that is what our embedded systems and
desktop computers use.
third generation programming languages are the programming languages that we
use in general programming nowadays. The 3GL were introduced in 1950s. They have a vast variety in terms of their
particular abstractions and syntax. The third generation is also known as
High-level languages and are procedural languages. These languages relives the
programmers from the tiring task of writing programs in comparatively
complicated machine and assembly languages. Apart from this, programs in 3GL
can be implemented on more than one type of machine with very few changes in
the syntax. The time required to make a program in high-level language is
lesser in comparison to time required for writing a program in low-level
language. The code once written in a 3rd generation language can be
reused in some other program. These languages are also driven with desire for
reduction in bugs. However, a language translator is still required to convert
the high-level language program into a machine language program because
ultimately the computer understands only machine language. There are two type
of language translators used for this conversion purpose: compilers and
Most Modern General Purpose Languages such
as C, C++, C#, Java, Basic, COBOL, Lisp and ML.
fourth generation languages which are also termed to be very high level
languages were introduce in 1970s. The languages falling under this category
are non-procedural, because they enable us to specify the only the task to be
done by the computer, without specifying how to perform the task. As a result
programs in 4th generation programming languages required much
lesser number of statements and produce more efficient results in lesser time. Since
only the objective is to be specified, the non-computer professionals can also
develop a software. Consequently the users can focus on objective rather than
focusing on coding intricacies. Apart from this, much less maintenance is
required as there are fewer errors. These languages are usually used with
database and its data dictionary.
SAS, R, MATLAB’s GUIDE, ColdFusion, CSS
are 5 basic types of 4th generation languages:
languages- allows users to retrieve information
from database, by firing queries by using specific grammar and syntax.
Generators- Similar to query languages, they are
used to communicate with a database, but only to generate a report and they
can’t modify the database.
generators- they allow the user to save the time
required to design entire software, by creating the required application from
support system and financial planning-
These languages allow high level managers to collect data and information and
manipulate it in new ways, with help of special programs and hardware.
microcomputer application software- can
be used for creation of specialized applications, some examples are dBase IV,
fifth generation of programming languages is the group of programming languages
build with mind-set of solving the problem by providing the constraints needed
to solve them, rather than providing the algorithm for solving it. As
approaching to an algorithm for solving a problem was a problem in itself,
therefore 5GL were introduced in 1990s. With the use of 5GL more emphasis can
be given to the result of the problem. We can also call the 5th
generation languages as Logical programming language as it works on logic.
(PROgramming LOGic), it uses a form of predicate logic to solve queries on
database of facts and figures, given by the user.