Declarative programming: Difference between revisions

Content deleted Content added
change paradigms template to navbox (see Template talk:Programming paradigms#too long)
No edit summary
Line 9:
Declarative programming often considers [[program (machine)|programs]] as theories of a [[Mathematical_logic#Formal_logical_systems|formal logic]], and computations as deductions in that logic space. Declarative programming may greatly simplify writing [[parallel computing|parallel programs]].<ref>{{cite web|url=http://www.cse.unsw.edu.au/~pls/damp09/ |title=DAMP 2009: Workshop on Declarative Aspects of Multicore Programming |publisher=Cse.unsw.edu.au |date=20 January 2009 |access-date=15 August 2013 |archive-url=https://web.archive.org/web/20130913162703/http://www.cse.unsw.edu.au/~pls/damp09/ |archive-date=13 September 2013 |url-status=dead}}</ref>
 
Common declarative languages include those of [[Query languages|database query languages]] (e.g., [[SQL]], [[XQuery]]), [[regular expression]]s, [[logic programming]] (e.g. [[Prolog]], [[Datalog]], [[answer set programming]]), [[functional programming]], and [[Configuration management database|configuration management]], and [[Algebraic modeling language|algebraic modeling]] systems.
 
The term is often used in contrast to imperative programming, which dictates the transformation steps of its state explicitly.<ref>{{Cite web |date=2021-05-21 |title=Imperative programming: Overview of the oldest programming paradigm |url=https://www.ionos.com/digitalguide/websites/web-development/imperative-programming/ |access-date=2023-05-23 |website=IONOS Digital Guide |language=en-US}}</ref>