Topic summary

Declarative programming

Related topics

Programming paradigm based on modeling the logic of a computation In computer science, declarative programming is a programming paradigm that expresses the logic of a computation without fully describing its control flow. The paradigm focuses on abstracting a program beyond the order of execution. This implies usage of a high-level programming language. Languages that permit this style allow a developer to minimize or eliminate side effects by describing what the program must accomplish in terms of the problem domain, rather than fully describing how to accomplish it as a sequence of the programming language primitives (the how being left up to the language's implementation). Declarative programming is in contrast with imperative programming, which implements algorithms in explicit steps. Just like in the functional programming paradigm, mutating variables does not conform to the declarative paradigm because it implies an execution order which is imperative. Declarative programming may consider programs as theories of a formal logic, and computations as deductions in that logical theory. Declarative programming at times simplifies the writing of parallel programs. Common declarativ