Declarative programming
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 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