You are on page 1of 2

1.

Imperative language
Most of the popular language over the past 35 years have designed around the
prevalent computer architecture called Von- Nueman Architecture and these type
of language are called Imperative language
Characteristics of Von Nueman architecture
Instructions and data are stored in the same memory
Instructions & data must be piped from memory to CPU
Results must again be moved back to memory.

As a result main features of imperative languages are


(i) Variables – model of memory cells
(ii) Assignment statements – Piping operations
(iii) Iterative form of repetitions
Iteration is fast on Von-Neumman computer because instructions are
stored in adjacent cells of memory. This discourage the use of recursion
(iv) An algorithm is specified in great detail and the specific order of
execution of instructions can be included.
2. Functional Languages
The main features of functional languages are,
(1) a functional language is the one in which the primary means of making
computations is by applying functions to given parameters.
(2) Programming can be done without variables, assignment statements and
without iteration.
(3) They will never displace the imperative languages unless a non-von-
neumann architecture that supports function programming is designed.
Ex. LISP
3. Object Oriented Programming languages
These languages became popular when hardware costs reduced and software
research of 1970’s were called top down design & step wise refinement. The
deficiency that were discovered in primary programming languages were
(1) Incompleteness of type checking
(2) Inadequency of control statements
In the late 1970’s a shift from process oriented to data oriented program design
methodologies began and which concentrated on the use of abstract data types to
solve the problems. Main features of the language are
(i) Data Abstraction- It encapsulates processing with data objects and
hides direct access to data.
(ii) Inheritance – It is a powerful concept that greatly enhances the
potential use of existing software. There by providing the
significant increase in SW development productivity.
(iii) Dynamic type binding- Dynamic runtime binding provides more
flexible use inheritance.
4. Logic programming languages
Logic programming languages is an example of role based language and imperative
language, the order of execution must be specified. But in role based language roles
are specified in no particular order, and the language implementation system must
choose an execution order that produces the desired result. This is radically different
from the other 3 kinds of languages. Ex Prolog
5. Markup Language
Features of this language are
1. they do not specify computation
2. they describe the general appearance of documents
3. markup code is easy to read and write
Ex. HTML

You might also like