什么是声明式编程?(declarative programming?)

声明式编程是一种指定程序应该做什么的方法,而不是指定如何做。大多数计算机语言都基于解决问题所需的步骤,但有些语言只指出问题的基本特征,并让计算机决定解决问题的最佳方法。据说前一种语言支持命令式编程,而后一种语言支持声明式编程。...

声明式编程是一种指定程序应该做什么的方法,而不是指定如何做。大多数计算机语言都基于解决问题所需的步骤,但有些语言只指出问题的基本特征,并让计算机决定解决问题的最佳方法。据说前一种语言支持命令式编程,而后一种语言支持声明式编程。

Declarative programming is a way of specifying what a program should do, rather than specifying how to do it.

我们可以从SQL中考虑下面的例子,从销售数据中获取利润超过一定数量的所有销售区域,例如,700美元(美元)。

选择利润>700的地区、销售利润

此语句不指示SQL系统必须执行哪些操作才能获取数据。SQL系统可以遍历每个销售记录并确定是否满足条件,或者,它可以从预排序的数据中快速获取前几条记录。该语句仅指示所需数据的性质。

Prolog是一种声明式编程语言,它表示实体之间的逻辑关系。

祖先(M,C):-母亲(M,C)和#13;祖先(X,Z):-母亲(X,Y),祖先(Y,Z)

上面的程序表明了真理。如果M是C的母亲,那么M是C的祖先。如果X是某个人Y的母亲,Y是Z的祖先,那么X是Z的祖先。考虑到这一点和一些母子事实,该程序可以回答有关整个母系家谱的问题。

在程序执行过程中,Prolog系统建立了许多真实的语句,从而创建了一个知识库。此知识库可自行高效搜索。上述程序的创建者没有指定如何搜索。

HTML和CSS是声明性编程语言。例如,HTML示例<表border=“1”>,表示薄边框。CSS的一个例子是color:blue。这将指定文本颜色。从这些示例中可以看出,HTML和CSS指定了网页上应该显示的内容,而不是如何显示。

声明式编程语言的优势主要有两个方面。程序简洁;这使得非程序员也很容易获得解决方案。在上面的SQL示例中,分析师或业务支持人员可以获得所需的信息。同样,外行也可以使用简单的HTML和CSS命令编写可接受的网页。

声明式编程模型的第二个优点是,在幕后的计算机系统中提供了指示如何解决问题的重复命令式代码。这样的代码可以变得非常高效,并且可以结合计算机的最佳思想。它可以利用并行性。

  • 发表于 2021-12-13 13:23
  • 阅读 ( 192 )
  • 分类:互联网

你可能感兴趣的文章

函数式程序设计(functional programming)和命令式程序设计(imperative programming)的区别

...式的命令式编程 6.摘要 什么是函数式程序设计(functional programming)? 函数式程序设计是以数学为基础的。函数式编程背后的关键原则是,所有的计算都被看作是独立数学函数的组合。数学函数将输入映射到输出。假设有一个函数...

  • 发布于 2020-10-19 02:12
  • 阅读 ( 477 )

宣言(declaration)和c中的定义(definition in c)的区别

...和定义,并比较了它们之间的区别。函数定义指定函数做什么,声明指定函数要做什么;它是一个原型。 目录 1. 概述和主要区别 2. 什么是C中的声明 3. C语言中的定义是什么 4. 并列比较-声明与C中以表格形式定义 5. 摘要 什么是c...

  • 发布于 2020-10-22 15:12
  • 阅读 ( 184 )

你应该知道的5种函数式编程语言

... 什么是函数式程序设计(functional programming)? ...

  • 发布于 2021-03-20 18:46
  • 阅读 ( 622 )

数组(array)和c程序设计中的结构(structure in c programming)的区别

... 数组,结构,C,C++ 什么是c程序设计中的数组(array in c programming)? 数组是一种能够存储属于同一数据类型的元素的数据结构。程序员必须声明数组应该存储的元素数。因此,数组的长度是固定的。以下面的例子为例。 整数[10]...

  • 发布于 2021-07-01 12:48
  • 阅读 ( 222 )

函数声明(function declaration)和c程序设计中的函数定义(function definition in c programming)的区别

...定义 什么是c程序设计中的函数声明(function declaration in c programming)? 函数声明指示编译器关于特定函数的信息。语法如下。 返回\类型函数\名称(参数列表); 函数名有助于识别函数。参数列表包含传递给函数以执行任务的内...

  • 发布于 2021-07-01 13:49
  • 阅读 ( 355 )

函数式程序设计(functional programming)和面向对象程序设计(object oriented programming)的区别

...程、多态性、递归函数 什么是函数式程序设计(functional programming)? 函数式编程允许使用数学函数构建程序。换句话说,它将程序绑定为纯数学函数样式。使用函数式编程,开发人员可以将一个程序构建为单独数学函数的组合。...

  • 发布于 2021-07-01 17:38
  • 阅读 ( 889 )

宣言(declaration)和c中的定义(definition in c)的区别

...。总的来说,可以声明和定义变量。 覆盖的关键领域 1.什么是C中的声明-定义,功能2.什么是C中的定义-定义,功能3.C中声明和定义的区别-主要区别比较 关键术语 C、 编译器、声明、定义、变量 什么是c语言的声明(a declaration in ...

  • 发布于 2021-07-01 23:52
  • 阅读 ( 330 )

程序设计语言(programming language)和脚本语言(scripting language)的区别

关键区别:编程语言是一种恰当而正式的语言,它被设计用来使程序员能够将指令传达给计算机。编程语言可以用来创建程序。脚本语言通常是一种支持脚本的编程语言。脚本是用来控制其他程序的程序。 如今,电脑、智能**...

  • 发布于 2021-07-12 09:43
  • 阅读 ( 247 )

C(c)和C++与实例语言(c++ with examples | programming languages)的区别

关键区别:C和C++是两种不同的计算机编程语言。C++是用C语言开发的;然而,它们在性质上是完全不同的。最明显的区别是C是面向过程的语言,而C++支持程序和面向对象的编程,因此它通常被称为混合语言。   C和C++是两种不...

  • 发布于 2021-07-13 05:40
  • 阅读 ( 197 )

字符串处理例程:delphi编程

...在。 例子: var s1,s2 : string; i : integer; s1:='Delphi'; s2:='Programming'; i:= CompareText(s1,s2); //i 复制功能 返回动态数组的字符串或段的子字符串。 声明:函数副本;索引,计数:整数:字符串;函数副本;索引,计数:整数):...

  • 发布于 2021-10-05 08:32
  • 阅读 ( 170 )
LUAN48622
LUAN48622

0 篇文章