宣告式編程
概述
常見的宣告式語言包括:資料庫查詢語言如SQL的查询子集和XQuery,正则表达式,配置管理系统如Puppet管理配置语言。歸入這種範型的很多語言,描述问题领域内目標的性質,讓電腦明白目標,而非流程,从而尝试极小化有关的副作用[2]。而指令式编程则需要用语言原语来明确的指出每一步该怎么做[3]。
可归入声明式编程范型的领域专属语言(DSL)还包括:yacc语法解析器,编译说明语言Make等。DSL不需要是图灵完全的,往往容易以一种纯声明式的方式来表达。很多文本标记语言例如HTML、MXML、XAML和XSLT往往是声明式的。
子编程范型
声明式编程是一个笼统的概念,除了一些特定的领域专属语言之外,一些更加知名的编程范型也被归类为其子范型。
逻辑式编程
逻辑编程通常被看做是形式逻辑的理论,把计算看做推导,透過函數、推理规则或重写規則,來描述變數之間的關係。它的語言執行器(編譯器或解释器)採用了一個固定的算法,以從這些關係產生結果。作为典型代表的Prolog语言,声明关系并且对关系进行提问;它和许多逻辑编程语言,都允许副作用的存在。
參考
- Lloyd, J.W.,
- . FOLDOC. 17 May 2004 [26 January 2020]. (原始内容存档于2015-08-10).
- Sebesta, Robert. . Boston: Pearson. 2016. ISBN 978-0-13-394302-3. OCLC 896687896.
- Chakravarty, Manuel M. T. (学位论文). Technische Universität Berlin. 14 February 1997 [26 February 2015]. (原始内容存档于2015-09-23).
In this context, the criterion for calling a programming language declarative is the existence of a clear, mathematically established correspondence between the language and mathematical logic such that a declarative semantics for the language can be based on the model or the proof theory (or both) of the logic.
- Marlow, Simon. . O'Reilly Media. 18 June 2013. ISBN 978-1449335946.
外部連結
- Frans Coenen. Characteristics of declarative programming languages. 1999.
- Robert Harper.
- Olof Torgersson. A Note on Declarative Programming Paradigms and the Future of Definitional Programming. 1996.
This article is issued from Wikipedia. The text is licensed under Creative Commons - Attribution - Sharealike. Additional terms may apply for the media files.