Paradigms

A programming paradigm is a complex of concepts, principles and abstractions which define a fundamental style of programming.

A paradigm can be determined by usage of entities like

  • program states and statements which change them (imperative programming),
  • stateless mathematical functions (functional programming),
  • objects and interactions between them (object-oriented programming),
  • algorithms and containers which operate with types provided as parameters (generic programming),
  • values and value-to-value operations (value-level programming), etc.

Note that it is not necessary for a language to use one and only one paradigm. Languages which are designed to support several paradigms are called multi-paradigm. Such languages claim that no paradigm can be universally efficient for all problems, and allow the programmer to choose the best programming style for approaching each specific problem.

List of paradigms