Difference between revisions of "Programming paradigm"
From Wiki @ Karl Jones dot com
Karl Jones (Talk | contribs) |
Karl Jones (Talk | contribs) (→See also) |
||
Line 47: | Line 47: | ||
* [[Programming language]] | * [[Programming language]] | ||
* [[Programming language theory]] | * [[Programming language theory]] | ||
+ | * [[Rosetta Code]] | ||
* [[Structured programming]] | * [[Structured programming]] | ||
* [[Syllabus versus curriculum]] | * [[Syllabus versus curriculum]] |
Latest revision as of 09:12, 30 September 2016
A programming paradigm is a fundamental style of computer programming, serving as a way of building the structure and elements of computer programs.
Contents
Description
Capabilities and styles of various programming languages are defined by their supported programming paradigms.
Some programming languages are designed to follow only one paradigm, while others support multiple paradigms.
Programming paradigms that are often distinguished include:
- Imperative programming
- Declarative programming
- Functional programming
- Object-oriented programming
- Procedural programming
- Logic programming
- Symbolic programming
Using different paradigms
With different paradigms, programs can be seen and built in different ways.
For example:
- In object-oriented programming, a program is a collection of objects interacting in explicitly defined ways.
- In declarative programming the computer is told only what the problem is, not how to actually solve it.
Analogy: syllabus versus curriculum
Two principles from education -- the syllabus, and the curriculum -- offer a useful analogy.
Declarative programming is to syllabus
As imperative programming is to curriculum
See Syllabus versus curriculum.
See also
- Computation
- Computer program
- Computer programming
- Declarative programming
- Imperative programming
- Logic programming
- Object-oriented programming
- Programming language
- Programming language theory
- Rosetta Code
- Structured programming
- Syllabus versus curriculum
External links
- Programming paradigm @ Wikipedia