声明性编程语言有声明吗?

时间:2015-01-24 15:26:21

标签: programming-languages

声明性编程语言是否有语句?

或另一种方式,是命令式语言特有的陈述?

1 个答案:

答案 0 :(得分:1)

我不知道我是否100%正确,但我的理解如下:

命令式语言,无论是程序性语言(如C)还是面向对象(如Java或C ++),都通过包含许多赋值语句来执行计算,它们分配给的变量,并且直接导致更改程序的状态。这个语句流程由所谓的控制流控制,在广义上讲,它是程序中的各种条件或无条件跳转(如果语句,循环等)。

另一方面,

声明性语言的工作差别很大,特别是取决于语言的子类型:

  • 例如,函数式语言(如Scheme和Haskell)将程序编写为一系列表达式,这些表达式组成函数。然后将这些函数应用于给予程序的输入,并产生输出。从本质上讲,它的工作方式类似于数学意义上的函数:它将域中的值映射到其范围内的值
  • 基于逻辑或约束的语言,例如Prolog,其程序表示为事实,规则或查询的序列,然后由(定理证明)引擎。