Functional Programming
主要思想是把运算过程尽量写成一系列的函数调用。
特点:
函数式“第一等公民” (first class)
函数与其他数据类型一样,处于平等位置,可以赋值给其他变量,也可以作为参数,传给一个函数,或者作为一个函数的返回值。
只用“表达式”,不用或者少用“语句”
没有“副作用”
不修改状态
即不修改环境或者系统变量
引用透明
引用透明(Referential transparency),指的是函数的运行不依赖于外部变量或"状态",只依赖于输入的参数,任何时候只要参数相同,引用函数所得到的返回值总是相同的。
意义(优势)
代码简洁, 开发快速
接近自然语言,便于理解
更方便的代码管理
易于“并发编程”
代码的热升级