Programming Paradigms
lastmod 2026-03-02created 2014-01-1120 edits
|
A programming paradigm is a paradigmatic style of programming. It is contrasted with a methodology, which is a paradigmatic style of doing software engineering.
A programming paradigm gives programmers a view of programming and plays a role in determining it. For example, object-oriented programming lets programmers view a program as a collection of interacting objects, whereas functional programming lets them think of it as a sequence of stateless function values.
Just as different groups in software engineering support different methodologies, different programming languages support different programming paradigms. Some languages support one particular paradigm: Smalltalk and Java support object-oriented programming, whereas Haskell and Scheme support functional programming. There are also languages that support multiple paradigms, such as Common Lisp, Python, and Oz.
Many programming paradigms are as well known for the techniques they forbid as for those they enable. For example, pure functional programming does not allow the use of side effects. Structured programming restricts the use of the GOTO statement. Partly for this reason, new paradigms are often regarded as doctrinaire or overly rigid by people accustomed to earlier ones. However, avoiding certain techniques can make it easier to prove theorems about a program's correctness, and easier to understand, without limiting the generality of the programming language.
The relationship between programming paradigms and programming languages can be complex, since a programming language may support multiple programming paradigms. For example, C++ was designed to support elements of procedural programming, object-based programming, object-oriented programming, and generic programming. In C++ you can write purely procedural programs, purely object-oriented programs, or programs that contain elements of both paradigms.
List of Programming paradigm
- Structured programming
- Non-structured programming
- Declarative programming
- Class-based programming
- Prototype-based programming
ETC
See also
Favorite site
- Wikipedia (en) History of programming languages
- Wikipedia (en) Programming paradigm
- Wikipedia (en) Template:Programming paradigms
- Wikipedia (en) Description of multi-paradigm programming languages 1
- Collection of major programming paradigms
- Object-oriented programming concepts and paradigms
- History of programming languages