Programming Paradigm

A programming paradigm is a paradigmatic style of programming (compare with a methodology which is a paradigmatic style of doing software engineering). A programming paradigm provides (and determines) the view that the programmer has of the execution of the program. For instance, in object-oriented programming, programmers can think of a program as a collection of interacting objects, while in functional programming a program can be thought of as a sequence of stateless function evaluations. Just as different groups in software engineering advocate different methodologies, different programming languages advocate different programming paradigms. Some languages are designed to support one particular paradigm (Smalltalk and Java support object-oriented programming while Haskell and Scheme support functional programming), while other programming languages support multiple paradigms (such as Common Lisp, Python, and Oz.) Many programming paradigms are as well-known for what techniques they forbid as for what they enable. For instance, pure functional programming disallows the use of side-effects; structured programming disallows the use of goto. Partly for this reason, new paradigms are often regarded as doctrinaire or overly rigid by those accustomed to earlier styles. However, this avoiding of certain techniques can make it easier to prove theorems about a program's correctness -- or simply to understand its behavior -- without limiting the generality of the programming language. The relationship between programming paradigms and programming languages can be complex since a programming language can support multiple paradigms. For example, C++ is designed to support elements of procedural programming, object-based programming, object-oriented programming, and generic programming. However, designers and programmers decide how to build a program using those paradigm elements. One can write a purely procedural program in C++, one can write a purely object-oriented program in C++, or one can write a program that contains elements of both paradigms.

Examples of Programming Paradigms

See also

!

 

<< PreviousWord BrowserNext >>
uss alabama (bb 8)
uss alabama (bb 60)
major consensus narrative
uss nebraska (bb 14)
high level programming language
korea standard time
low level programming language
uss nevada
saul lisazo
river tweed
list of japanese authors:y
emperor ninko of japan
emperor kokaku of japan
intolerance (movie)
amblypygid
whip scorpion
kent hovind
los chamos
schizomid
westmount, quebec
job creation program
plateau mont royal
kirkcudbrightshire
snowdon
dorval, quebec
lysistrata
agricola
constraint programming
hampstead, quebec
print on demand
mont royal, quebec
australian airlines
edward bruce
shock jock
chemical symbol
outremont, quebec
john molson
james mcgill
daniel albert wyttenbach
paul chomedey de maisonneuve
ren robert cavelier, sieur de la salle
tiberius hemsterhuis
pierre gaultier de varennes et de la vrendrye
pieter burmann the younger