命令式(过程式)、声明式、函数式编程 作者:马育民 • 2022-12-24 10:05 • 阅读:10097 # 命令式编程(过程式) 一步一步告诉计算机先做什么再做什么(How),最终达到你想要的结果(What) 比如:如果你想在一个数字集合 collection(变量名) 中筛选大于 5 的数字,你需要这样告诉计算机: 第一步,创建一个存储结果的集合变量 results; 第二步,遍历这个数字集合 collection; 第三步:一个一个地判断每个数字是不是大于 5,如果是就将这个数字添加到结果集合变量 results 中 ### 相关语言 C、C++、JAVA、JAVASCRIPT、PYTHON 等开发语言都是命令式开发语言 # 声明式编程 只告诉计算机想要的结果(What),但不需要指定具体要怎么做(How) ### 相关语言 HTML、CSS、SQL 属于声明式编程 SQL 就是最明显的一种声明式编程的例子,例如: ``` SELECT * FROM student WHERE age > 20 ``` # 函数式编程 最重要的特点是:`函数第一位`,即:**函数可以出现在任何地方** 比如: - 把函数作为参数传递给另一个函数 - 将函数作为返回值 ### 相关语言 JavaScript、scala、python等开发语言 大部分常见的编程语言,基本上提供了对函数式编程的支持,比如 JavaScript,Java8 中的 Lambda **注意:**C语言可以实现函数式编程风格,但不是函数式语言 # 总结 命令式编程更加的精细化,更严谨,程序也会一步一步的执行命令。但对程序员要求高,编写程序也复杂 声明式编程在特定的领域,给我们减轻负担,提升开发效率,程序员只需要对想要的结果(What)进行深思熟虑,程序会自动的解决过程(How)。 函数式编程是最近几年流行的趋势,各个老牌开发语言,也都在逐步支持这一特性,如:JAVA8 的lambda表达式 参考: https://www.cnblogs.com/guanghe/p/10470864.html https://zhuanlan.zhihu.com/p/34445114 原文出处:http://malaoshi.top/show_1IX4eOA1Ca4E.html