函数式编程与命令式编程的区别 Functional, Imperative Programming

关于 函数式 和 命令式 还是下面这三篇讲的比较好:
http://www.cnblogs.com/lisperl/archive/2011/11/21/2257360.html
http://www.cnblogs.com/lisperl/archive/2011/11/22/2258995.html
http://www.cnblogs.com/lisperl/archive/2011/11/23/2259363.html

个人理解:
现在的大部分语言都是对汇编的封装, 汇编是基于内存,CPU这种物理结构来解决问题的,所以它在运算时,有自己的内部状态,通过一步步的算法修改内部状态,最终得出结果。函数式是基于数学函数的,它对于给定的输入参数,经过函数运算得出输出,它通过函数对函数的调用,最终得到结果。函数式是声明式的一种。
命令式:

int a = 0;
b = a * a + 3;
System.out.println(b);

函数式:

add: (a, b)->{return a + b;};
power: (a)->{return a * a};
println(add(power(a), 3));

标签: none

添加新评论