Programming paradigm

Published:

The notion of programming paradigms is a way to classify programming languages according to the style or philosophy of computer programming. Features of various programming languages determine which paradigms they belong to; as a result, some languages fall into only one paradigm, while others fall into multiple paradigms. Some paradigms are concerned primarily with implications for the execution model of the language, such as allowing side effects, or whether the sequence of operations is defined by the execution model. Other paradigms are concerned primarily with the way that code is organized, such as grouping code into units along with the state that is modified by the code. Yet others are concerned primarily with the style of syntax and grammar.

Common programming paradigms include imperative which allows side effects, functional which does not allow side effects, declarative which does not state the order in which operations execute, object-oriented which groups code together with the state the code modifies, procedural which groups code into functions, logic which has a particular style of execution model coupled to a particular style of syntax and grammar, and symbolic programming which has a particular style of syntax and grammar.

There are problems which are solve more naturally with some paradigms than others or others than are more natural expressed in some style paradigms than in others.

See also

Material

Papers