Declarative programming is an approach to computer programming that takes a different approach from traditional imperative programming in Fortran, C++ or Java. Whereas imperative programming gives the computer a list of instructions to execute in a particular order, declarative programming describes to the computer a set of conditions and lets the computer figure out how to satisfy them. Declarative programming includes both functional programming and logic programming.
Declarative programming was also known as Value-oriented programming, but this term has lately fallen out of use.
Declarative languages describe relationships between variables in terms of functions, inference rules, or term-rewriting rules. The language executor (an interpreter or compiler) applies a fixed algorithm to these relations to produce a result.
Declarative programming languages are extensively used in solving artificial intelligence and constraint-satisfaction problems.
Example languages
Representative examples of declarative programming languages include Prolog and Haskell. Other examples include Miranda, and SQL.
Category:Declarative programming languages provides an exhaustive list.
See also
- Imperative programming (contrast)
- Programming paradigms