Table of Contents

A language is a system of communication. A programming language is a formal constructed language designed to communicate instruction to a machine, particularly a computer. In the earlier computers, low level languages like machine language and assembly language were used. Nowadays, high level languages are used.


Evolution of Programming Language:

Evolution of programming language can be seen as: -


  1. First Generation (1940-50) –
  2. Machine Language


  1. Second Generation (1950-58) –
  2. Assembly Language


  1. Third Generation (1958-85) –
  2. COBOL
  3. FORTRAN
  4. BASIC
  5. PL/I


  1. Fourth Generation (1985 onwards) –
  2. C
  3. C++
  4. ALGOL
  5. Oracle
  6. Java
  7. SQL


Low Level Languages:

Low level languages can be classified as: -


1. Machine Language –

All digital computers work on the basics of binary numbers (0 and 1). The instructions given in binary numbers, which the computer understands are called the ‘machine Code’ or ‘Machine Language’. Machine language is the basic language but programming in this language is very difficult and time consuming. It is the only language which the computer understands without translation. Programmes written in machine language can only be used on the computer model for which that language is written. That’s why this language is called machine-oriented. It is rarely used for programming nowadays.


Merits of Machine Language –


  1. Efficient use of storage: language instructions and their storage in computer memory can be controlled.
  2. Instructions of a machine language program are immediately executable. They require no compilation or translation steps.
  3. Machine language instructions can be used to manipulate the individual bits in a byte of computer storage.


Demerits of Machine Language –


  1. Machine language is machine dependent.
  2. Although easily used by the computer, a machine language is difficult to program. It is necessary for the programmer either to memorise the dozens of code numbers for the commands in the machine’s instructions set or to constantly refer to a reference card.
  3. It is difficult to correct or modify machine language programs. To locate errors is about as tedious as writing them initially.


2. Assembly Language –

The language which substitutes letters and symbols for the numbers in the machine program is called an ‘assembly language’ or ‘symbolic language’.


Assembly Code / Symbolic Programs: a program written in symbolic language that uses symbols instead of numbers is called an ‘assembly code’.


Assembler: the translator program that translates an assembly code into the computer’s machine code is called an assembler. It is a system program which is supplied by the computer manufacturer. It is called ‘assembler’ because in addition to translating the assembly code into machine code, it also assembles the machine code into the main memory of the computer.


Source Program: a symbolic program written by a programmer in assembly language is called source program.


Object Program: after the source program has been converted into machine language by an assembler, it is referred to as an object program.


Merits of Assembly Language:


  1. It is not required to keep track of memory locations.
  2. It is efficient in terms of execution and main memory usage.
  3. Revision of complete program is quite easy.
  4. Requires fewer instructions to accomplish the same result.
  5. Assembly language programs are easier for people to modify than machine language program.


Demerits of Assembly Language:


  1. Programs cannot be executed on small size computers.
  2. It takes longer to code because of the more complex nature of language.
  3. Lack of portability of programs between computers of different makes.


High Level Languages:

High level languages were developed to overcome the limitations of low level languages. They are not machine dependent. They are problem oriented. Instructions given in high level languages are known as statements. BASIC, PASCAL, ALGOL, C are the primary high level languages.


High level languages can be classified as: -

  1. ALGOL (Algorithmic Language)
  2. BASIC (Beginners All Purpose Symbolic Instruction Code)
  3. FORTRAN (Formula Translations)
  4. COBOL (Common Business Oriented Language)
  5. PL/1 (Programming Language/1)
  6. C Language


Merits of High Level Languages –

1. Machine Independence: high level languages are machine independent. There is no need of rewriting programs if computers are changed or used of another manufacturer.


2. Easy to learn and use: very similar to languages normally used by us in our day to day life.


3. Fewer Errors: since the programmer need not write all the small steps carried out by the computer, he is much less likely to make an error.


4. It is more user friendly.


Demerits of High Level languages –

1. Lack of Flexibility: because of automatic features of high level languages and not under the control of programmer, they are less flexible than assembly languages.


2. Slow functioning: runs slower due to generality of statements. These are machine independent.


3. Lower Efficiency: as high level languages take more time to run and require more main storage, they are less efficient in the use of CPU and other facilities.


Object Oriented Languages:

Object-oriented languages are programming languages that follow the object-oriented programming (OOP) paradigm. This paradigm centres around the concept of "objects," which are instances of "classes." Objects encapsulate both data (attributes) and the functions that operate on that data (methods).

Fourth generation languages are non-procedural and object oriented in which the programmer has to instruct what to do and what not to do. With the help of these languages, programs can be developed easily.


Common Object Oriented Languages are –


1. C++: this language is developed from C language. It was developed in 1983. Although it is an object oriented language, still it has the attributes for structured programming.


2. JAVA: it was developed by Sun Micro Systems of USA. It is mostly used for internet applications. It requires JAVA compiler in the computer.


3. Oracle: it was developed by Oracle Corporation, USA. It is a non-procedural language related to RDBM (Relational Database Management System). SQL (Structured Query Language is used in Oracle.


4. SQL (Structured Query Language): it is used for database packages like Oracle, Sybase etc. it allows the easy access of the required data from database. Database editing, updating, management has been made quite easy through SQL.


Language Translators:

Any program which is not written in machine language has to be translated before it is executed by the computer.

Language translators translate the High Level Language or Assembly Language into machine language. They check for some type of errors.


Language translators are of 3 types: -

  1. Compiler
  2. Assembler
  3. Interpreter