声明式编程最能解决哪些具体问题



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

这不是关于在声明性语言中什么是好的应用程序的讨论。我只想了解情况和任何常见的、具体的项目要求,这些要求会让程序员说"我们真的应该为此使用声明性语言"。

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

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

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

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

最新更新