命令式编程面向算法vs声明式编程面向描述

命令式编程面向算法vs声明式编程面向描述。

命令式编程面向:数据结构与算法;

算法 = 控制 + 逻辑;

命令式编程是行动导向(Action-Oriented)的,因而算法是显性而目标是隐性的;

声明式编程将描述与求解分离;

声明式编程面向描述:

面向逻辑、抽象、描述;

逻辑(数学)规则的表达;

计算规则;

结合规则;

处理规则;

特征规则;

描述为主,算法为辅。

声明式编程专注问题的分析和表达而不是算法实现,不用指明执行顺序,一般没有或极少副作用。同时也非常适合于并发式计算。

编程语言的流行程度与其擅长的领域密切相关。函数式语言和逻辑式语言擅长基于数理逻辑的应用,命令式语言擅长基于业务逻辑的、尤其是交互式或事件驱动型的应用。

命令式编程通过一系列改变程序状态的指令来完成计算,声明式编程只描述程序应该完成的任务。命令式编程模拟电脑运算,是行动导向的,关键在于定义解法,即“怎么做”,因而算法是显性而目标是隐性的;声明式编程模拟人脑思维,是目标驱动的,关键在于描述问题,即“做什么”,因而目标是显性而算法是隐性的

http://www.nowamagic.net/academy/detail/1220528

猜你喜欢

转载自www.cnblogs.com/feng9exe/p/10190716.html