architect-handbook

Software Architect Handbook

View on GitHub

Declarative Programming

Declarative programming express the logic of a computation without describing its control flow.

Many languages that apply this style attempt to minimize or eliminate side effects by describing what the program must ccomplish in terms of the problem domain, rather than describe how to accomplish it as a sequence of the programming language primitives. This is in contrast with Imperative Programming, which implements algorithms in explicit steps.

Common declarative languages include those of database query languages (SQL), regular expressions, logic/functional programming and configuration management systems.

Definition

Declarative programming is often defined as any stlye of programming that is not imperative.