Declarative programmingDeclarative programming
is an approach to computer programming
that takes a different approach from traditional imperative programming
. 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 languages describe relationships between variables in terms of functions or inference rules. The language executor (an interpreter or compiler) applies a fixed algorithm to these relations to produce a result.
Examples of declarative programming languages include Miranda, Prolog and SQL.
Declarative programming languages are extensively used in solving artificial intelligence and constraint-satisfaction problems.
See also: 4GL, constraint programming