This document discusses the classification and evolution of programming languages. It describes how programming languages have been categorized into low-level languages (machine language and assembly language), high-level languages (procedural languages from 3rd generation), and more advanced languages (non-procedural from 4th generation and natural languages from 5th generation). It provides examples like COBOL, SQL, BASIC, Pascal, C++, Java and Visual Basic to illustrate different types of languages and their uses.
2. Definition of Programming Language
"A programming language is a set of written
symbols that instructs the computer hardware to
perform specific tasks. Typically, a programming
language consists of a vocabulary and a set of
rules (called syntax) that the programmer must
learn".
3. Classification of programing languags
As the involvement of computer, automation and robotics
growing in our daily life, programming becomes highly required
to control all of them. To control all of these systems and
machines and take desired output by them skilled programming
languages is necessary. However the area of programming
language become how much wide but it will be under one of the
three category of programming languages. Since the starting of
programming language, it is classified into three categories.
Sometime it’s also known as level and/or generation of
programming language. All the computer programming
languages are broadly classified into the following
Low Level
High Level
4. Low Level Languages
Machine level languages
(First Generation of programming language):
Machine language is the only programming language that the computer can
understand directly without translation. There is not, however, one universal
machine language because the language must be written in accordance with
the special characteristics of a given processor. Each type or family of
processor requires its own machine language. For this reason, machine
language is said to be machine-dependent (also called hardware-
dependent).
Use of machine language is very tedious, difficult and time consuming
method of programming. These languages, however must ultimately be
translated into machine language before the computer can understand and
use them.
It’s the lowest level and named as first generation of programming
language. Machine level language consist only two condition i.e. either true
(1) or false (0); this type of language known as binary language. A
computer system could understand only binary language i.e. all the
instruction feed into the computer system must be in the form of 0 or 1.
Machine level languages are very tough to understand by the humans.
5. Advantages of machine level language:
Machine level languages are directly interacting with
computer system.
There is no requirement of software of conversion like
compiler or interpreters.
It takes very less time to execute a program, because there is
no conversion take place.
Disadvantages of machine language:
Its machine dependent language i.e. individual program
required for each machine.
To develop a program in machine language, it’s too hard to
understand and program.
Its time consuming to develop new programs.
Machine language is not portable language.
6. Assembly level languages
(Second Generation programming language):
Assembly languages use mnemonic operation codes and symbolic
addresses in place of 1s and 0s to represent the operation codes. A
mnemonic is an alphabetical abbreviation used as memory aid. This
means a programmer can use abbreviation instead of having to
remember lengthy binary instruction codes. For example, it is much
easier to remember L for Load, A for Add, B for Branch, and C for
Compare than the binary equivalents i-e different combinations of 0s
and 1s.
Assembly language uses symbolic addressing capabilities that
simplify the programming process because the programmer does not
need to know or remember the exact storage locations of instructions
or data.
Before they can be used by the computer, assembly languages must
be translated into machine language. A language translator program
called an assembler does this conversion.
7. Advantages of Assembly language:
It is easily understood by human because it is uses
statements instead of binary digits.
To develop a program it takes less time.
Debugging and troubleshoot is easy due to easily find
error.
It’s a portable language.
Disadvantages of Assembly language:
It’s a machine dependent language due to that program
design for one machine no use of other machine.
Sometime it’s hard to understand the statement or
command use.
8. High Level Languages
The first high level programming language was written
in 1950s. Those programs written in high level
language must require software or a set of program to
translate that program into machine understandable.
This software called compiler and/or interpreter. The
main job of compiler and translator is to take the source
code of the program and convert that code into the
machine understood code.
9. procedural languages
(Third Generation of programming language):
Third generation languages, also known as high-level languages, are very
much like everyday text and mathematical formulas in appearance. They
are designed to run on a number of different computers with few or no
changes.
Most high level languages are considered to be procedure-oriented, or
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 language statements generate, when translated, a
comparatively greater number of assembly language instructions and even
more machine language instructions. The programmer spends less time
developing software with a high level language than with assembly or
machine language because fewer instructions have to be created.
10. Objectives
To relieve the programmer of the detailed and tedious task of
writing programs in machine language and assembly
languages.
To provide programs that can be used on more than one type
of machine with very few changes.
To allow the programmer more time to focus on
understanding the user’s needs and designing the software
required meeting those needs.
A language translator is required to convert a high-level
language program into machine language. Two types of
language translators are used with high level languages:
compilers and interpreters
11. Non procedural languages
(Fourth Generation of programming language):
Fourth generation languages are also known as very high
level 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.
Consequently, fourth generation languages need
approximately one tenth the number of statements that a high
level languages needs to achieve the same results. Because
they are so much easier to use than third generation
languages, fourth generation languages allow users, or non-
computer professionals, to develop software.
12. Objectives of fourth generation languages
Increasing the speed of developing programs.
Minimizing user effort to obtain information from
computer.
Decreasing the skill level required of users so that they
can concentrate on the application rather than the
intricacies of coding, and thus solve their own problems
without the aid of a professional programmer.
Minimizing maintenance by reducing errors and making
programs that are easy to change.
Depending on the language, the sophistication of fourth
generation languages varies widely. These languages are
usually used in conjunction with a database and its data
dictionary.
13. Intelligent languages/ Natural language
(Fifth Generation of programming language):
Natural Languages represent the next step in the development
of programming languages, i-e fifth generation languages. The
text of a natural language statement very closely resembles
human speech. In fact, one could word a statement in several
ways perhaps even misspelling some words or changing the
order of the words and get the same result. These languages
are also designed to make the computer “smarter”. Natural
languages already available for microcomputers include
Clout, Q&A, and Savvy Retriever (for use with databases) and
HAL (Human Access Language).
The use of natural language touches on expert systems,
computerized collection of the knowledge of many human
experts in a given field, and artificial intelligence,
independently smart computer systems.
14. Advantages of high level language
In this instructions and commands much easier to
remember by programmer.
Its logic and structure are much easier to understand.
Debugging is easier compare to other languages.
Less time consuming to writing new programs.
HLL are described as being portable language.
Disadvantages of high level language:
HLL programming language take more space compare to
other MLL (machine level language) and/or ALL
(Assembly level language).
This programming language execute slowly.
15. Business-oriented languages
COBOL: common business oriented language uses an English-like
notation—novel when introduced. Business computations organize
and manipulate large quantities of data, and COBOL introduced
the record data structure for such tasks. A record clusters
heterogeneous data such as a name, ID number, age, and address
into a single unit. This contrasts with scientific languages, in which
homogeneous arrays of numbers are common. Records are an
important example of “chunking” data into a single object, and they
appear in nearly all modern languages.
SQL: SQL (structured query language) is a language for specifying
the organization ofdatabases (collections of records). Databases
organized with SQL are called relational because SQL provides the
ability to query a database for information that falls in a given
relation. For example, a query might be “find all records with both
last_name Smith and city New York.” Commercial database
programs commonly use a SQL-like language for their queries.
16. Education-oriented languages
BASIC: beginner’s all-purpose symbolic instruction code was designed
at Dartmouth College in the mid-1960s by John Kemeny and Thomas Kurtz. It was
intended to be easy to learn by novices, particularly non-computer science majors,
and to run well on a time-sharing computer with many users. It had simple data
structures and notation and it was interpreted: a BASIC program was translated
line-by-line and executed as it was translated, which made it easy to locate
programming errors.
PASCAL: About 1970 Niklaus Wirth of Switzerland designed Pascal to teach
structured programming, which emphasized the orderly use of conditional and loop
control structures without GOTO statements. Although Pascal resembled ALGOL
in notation, it provided the ability to define data types with which to organize
complex information, a feature beyond the capabilities of ALGOL as well as
FORTRAN and COBOL. User-defined data types allowed the programmer to
introduce names for complex data, which the language translator could then check
for correct usage before running a program.
17. Object-oriented language.
C++: The C++ language, developed by Bjarne Stroustrup at
AT&T in the mid-1980s, extended C by adding objects to it while
preserving the efficiency of C programs. It has been one of the
most important languages for both education and industrial
programming. Large parts of many operating systems, such as
the Microsoft Corporation’s Windows 98, were written in C++++.
JAVA: Java dispensed with lower-level features, including the
ability to manipulate data addresses, a capability that is neither
desirable nor useful in programs for distributed systems. In order
to be portable, Java programs are translated by a Java Virtual
Machine specific to each computer platform, which then executes
the Java program. In addition to adding interactive capabilities to
the Internet through Web “applets,”
VISUAL BASIC: Visual Basic was developed by Microsoft to
extend the capabilities of BASIC by adding objects and “event-
driven” programming: buttons, menus, and other elements
of graphical user interfaces (GUIs). Visual Basic can also be used
within other Microsoft software to program small routines.