声明式编程:程序=数据+逻辑(what)+算法(控制+计算)

接口:what;

实现:算法;指令;

编程语言中,凡是不涉及到算法的部分,都可以认为是声明式编程。

命令式编程可以与算法划等号;算法要求严格的计算逻辑和控制,是实施细节的精准描述;

命令式编程与声明式编程只是侧重点的不同。一个侧重计算控制,一个侧重逻辑描述。

命令式编程通过一系列改变程序状态的指令来完成计算,声明式编程只描述程序应该完成的任务。

命令式编程模拟电脑运算,是行动导向的,关键在于定义解法,即“怎么做”,因而算法是显性而目标是隐性的;

声明式编程模拟人脑思维,是目标驱动的,关键在于描述问题,即“做什么”,因而目标是显性而算法是隐性的。

声明式编程的使用场景:

描述:结构(xml)、组织(makefile)、逻辑(sql)、依赖(cocoaspod)、特征(dsl)、流程(linq、function)

https://www.cnblogs.com/feng9exe/p/10190716.html

原文地址:https://www.cnblogs.com/feng9exe/p/10513590.html