A programming language is a system of signs used to communicate a task/algorithm to a computer, causing the task to be performed. The task to be performed is called a computation, more broadly, a computer language typically embodies a particular programming paradigm. A Programming Paradigm is a model for a class of Programming Languages that share a set of common characteristics. Programming language paradigms are various systems of ideas that have been used to guide the design of programming languages. It is a way of conceptualising what it means to perform computation and how task are to be carried out on a computer, should be structured and organised.
It is a style of programming that a programmer tends to use for the various reasons of coming up with a particular program that suits the problem to be addressed by the program, hence these paradigms are different in that they have certain characteristics which are not found in the other paradigms.
Below is a table which illustrate these paradigms and programming languages example.
Table1.
Imperative/Algorithm Declarative Object- Oriented Functional Programming Logic Programming
Algol Haskell Prolog Smalltalk
Cobol ML Simula
Ado Miranda C++
C APL Java
Imperative: The language provides statements, such as assignment statements, which explicitly change the state of the memory of the computer
Functional: In this paradigm we express computations as the evaluation of mathematical functions
Logic: In this paradigm we express computation in exclusively in terms of mathematical logic
Object-Oriented: In this paradigm we associate behaviour with data-structures called " objects " which belong to classes