Declarative Programming Language
(Redirected from declarative programming)
Jump to navigation
Jump to search
A Declarative Programming Language is a programming language that can express declarative expressions independently of the source code order of evaluation.
- Context:
- It can range from being a Logic-based Programming Language to being a Function-based Programming Language.
- It can (typically) define Referentially Transparent Expressions.
- It can (typically) have a clear correspondence to a Mathematical Logic, such as a first-order logic.
- …
- Example(s):
- a Logic-based Programming Language, such as SQL, Prolog, Datalog, and an Answer Set Programming Language.
- a Function-based Programming Language, such as Haskell.
- a Declarative Machine Learning Language, such as PyDML.
- …
- Counter-Example(s):
- See: Data Manipulation Language, Expression-oriented Language.
References
2013
- (Wikipedia, 2013) ⇒ http://en.wikipedia.org/wiki/Declarative_programming
- In computer science, declarative programming is a programming paradigm that expresses the logic of a computation without describing its control flow.[1] Many languages applying this style attempt to minimize or eliminate side effects by describing what the program should accomplish, rather than describing how to go about accomplishing it[2] (the how is left up to the language's implementation). This is in contrast with imperative programming, in which algorithms are implemented in terms of explicit steps.
Declarative programming often considers programs as theories of a formal logic, and computations as deductions in that logic space. Declarative programming has become of particular interest recently, as it may greatly simplify writing parallel programs.[3]
Common declarative languages include those of database query languages (e.g., SQL, XQuery), regular expressions, logic programming, functional programming, and configuration management systems.
- In computer science, declarative programming is a programming paradigm that expresses the logic of a computation without describing its control flow.[1] Many languages applying this style attempt to minimize or eliminate side effects by describing what the program should accomplish, rather than describing how to go about accomplishing it[2] (the how is left up to the language's implementation). This is in contrast with imperative programming, in which algorithms are implemented in terms of explicit steps.
- ↑ Template:Citation
- ↑ Declarative language in The Free On-line Dictionary of Computing, Editor Denis Howe.
- ↑ http://www.cse.unsw.edu.au/~pls/damp09/
- http://en.wikipedia.org/wiki/Declarative_programming#Definition
- Declarative programming is often defined as any style of programming that is not imperative. A number of other common definitions exist that attempt to give the term a definition other than simply contrasting it with imperative programming. For example:
- A program that describes what computation should be performed and not how to compute it
- Any programming language that lacks side effects (or more specifically, is referentially transparent)
- A language with a clear correspondence to mathematical logic.[1]
- These definitions overlap substantially.
- Declarative programming is often defined as any style of programming that is not imperative. A number of other common definitions exist that attempt to give the term a definition other than simply contrasting it with imperative programming. For example: