6

我一直在研究声明性语言,似乎声明性只是逻辑和函数语言的总称。还是我错了?是否有任何通用的声明性编程语言不能归类为功能或逻辑(al),而只是“声明性”?

4

1 回答 1

3

声明性语言要求您为想要发生的事情编写代码,而不是使用命令式语言编写应该如何完成计算的代码。

一般来说,这意味着声明性语言不允许副作用,而命令式语言几乎需要带有副作用的编码。

为了使通用语言成为通用语言,它们需要编写副作用的能力。因此,这使它们难以声明。

像 F# 这样的语言在函数式编程中有很强的基础,但也有任何允许 OO 编程和副作用的结构。这使得 F# 成为一种通用语言,但通过允许将命令式编码与声明式编码混合来实现这一点。

尽管并非完全不可能,但我怀疑仅根据定义没有“纯声明性”通用编程语言。

于 2012-09-17T02:13:47.647 回答