Find centralized, trusted content and collaborate around the technologies you use most.
Teams
Q&A for work
Connect and share knowledge within a single location that is structured and easy to search.
我一直在研究声明性语言,似乎声明性只是逻辑和函数语言的总称。还是我错了?是否有任何通用的声明性编程语言不能归类为功能或逻辑(al),而只是“声明性”?
声明性语言要求您为想要发生的事情编写代码,而不是使用命令式语言编写应该如何完成计算的代码。
一般来说,这意味着声明性语言不允许副作用,而命令式语言几乎需要带有副作用的编码。
为了使通用语言成为通用语言,它们需要编写副作用的能力。因此,这使它们难以声明。
像 F# 这样的语言在函数式编程中有很强的基础,但也有任何允许 OO 编程和副作用的结构。这使得 F# 成为一种通用语言,但通过允许将命令式编码与声明式编码混合来实现这一点。
尽管并非完全不可能,但我怀疑仅根据定义没有“纯声明性”通用编程语言。