0

我了解声明性语言必须提供的内容,但我还没有将这些点联系起来,说明我为什么要使用它们。例如,我不明白为什么描述一个问题比用命令式语言编写一个已经理解的问题的解决方案更有益(副作用不可承受)。

不是讨论什么是声明性语言的良好应用程序。我只想了解会让程序员说“我们真的应该为此使用声明性语言”的情况和任何常见的特定项目要求。

4

1 回答 1

2

根据经验,我认为当存在多种策略来实现一个目标时,声明式编程是有意义的。声明式地编程什么而不是如何让解析器/编译器/运行时找出哪种策略是最好的——它为你优化了执行。

声明性语言和优化的两个示例:

  • 正则表达式——你真的想为快速执行所需的底层 DFA、NDFA 烦恼吗?
  • SQL 查询——DBMS 具有统计信息和缓存,并且可以(希望)找出最佳执行计划

@verisimilitude 提供的链接值得一读。

于 2012-06-27T06:34:07.393 回答