Programming paradigm based on modeling the logic of a computation
This article has multiple issues. Please help improve it or discuss these issues on the talk page. (Learn how and when to remove these template messages)
This article includes a list of general references, but it lacks sufficient corresponding inline citations. Please help to improve this article by introducing more precise citations.(April 2010) (Learn how and when to remove this message)
This article needs additional citations for verification. Please help improve this article by adding citations to reliable sources. Unsourced material may be challenged and removed. Find sources: "Declarative programming" – news · newspapers · books · scholar · JSTOR(February 2015) (Learn how and when to remove this message)
(Learn how and when to remove this message)
In computer science, declarative programming is a programming paradigm—a style of building the structure and elements of computer programs—that expresses the logic of a computation without describing its control flow.[1]
Many languages that apply this style attempt to minimize or eliminate side effects by describing what the program must accomplish in terms of the problem domain, rather than describing how to accomplish it as a sequence of the programming language primitives[2] (the how being left up to the language's implementation). This is in contrast with imperative programming, which implements algorithms in explicit steps.[3][4]
Declarative programming often considers programs as theories of a formal logic, and computations as deductions in that logic space. Declarative programming may greatly simplify writing parallel programs.[5]
Common declarative languages include those of database query languages (e.g., SQL, XQuery), regular expressions, logic programming (e.g. Prolog, Datalog, answer set programming), functional programming, configuration management, and algebraic modeling systems.
^Lloyd, J.W., Practical Advantages of Declarative Programming
^"declarative language". FOLDOC. 17 May 2004. Retrieved 7 September 2023.
^Sebesta, Robert (2016). Concepts of programming languages. Boston: Pearson. ISBN 978-0-13-394302-3. OCLC 896687896.
^"Imperative programming: Overview of the oldest programming paradigm". IONOS Digital Guide. 2021-05-21. Retrieved 2023-05-23.
^"DAMP 2009: Workshop on Declarative Aspects of Multicore Programming". Cse.unsw.edu.au. 20 January 2009. Archived from the original on 13 September 2013. Retrieved 15 August 2013.
and 20 Related for: Declarative programming information
computer science, declarativeprogramming is a programming paradigm—a style of building the structure and elements of computer programs—that expresses the...
a declarative language is the fourth generation language SQL, and the family of functional languages and logic programming. Functional programming is...
speak about Declarative memory, one of two types of long term human memory Declarativeprogramming, a computer programming paradigm Declarative sentence...
functional programming is a programming paradigm where programs are constructed by applying and composing functions. It is a declarativeprogramming paradigm...
contrast to declarativeprogramming, which focuses on what the program should accomplish without specifying all the details of how the program should achieve...
approaches to programming: Imperative programming – focuses on how to execute, defines control flow as statements that change a program state. Declarative programming –...
In computing, reactive programming is a declarativeprogramming paradigm concerned with data streams and the propagation of change. With this paradigm...
and unlike many other programming languages, Prolog is intended primarily as a declarativeprogramming language: the program is a set of facts and rules...
ABSET was an early declarativeprogramming language from the University of Aberdeen. ABSYS "ABSET: A Programming Language Based on Sets", E.W. Elcock...
performed. Declarative solutions are easier to understand than imperative solutions, and so there has been a long-term trend from imperative to declarative methods...
efficiency, scalability, and security that would be available through a declarative model. Data is stored on a user's device and the user's existing cloud-based...
Answer set programming (ASP) is a form of declarativeprogramming oriented towards difficult (primarily NP-hard) search problems. It is based on the stable...
a relational database. SQL is a set-based, declarativeprogramming language, not an imperative programming language like C or BASIC. However, extensions...
Constraint programming takes its root from and can be expressed in the form of constraint logic programming, which embeds constraints into a logic program. This...
TypeScript (eTS) built for HarmonyOS development as a shift towards Declarativeprogramming. ArkTS compiles to machine code via it's Ahead-of-time compilation...
Absys was an early declarativeprogramming language from the University of Aberdeen. It anticipated a number of features of Prolog such as negation as...
Conference on Principles and Practice of DeclarativeProgramming TFP: Symposium on Trends in Functional Programming TLCA: International Conference on Typed...
provides an intuitive programming framework based on common sense or practical reasoning. The main features of GOAL include: Declarative beliefs: Agents use...