在程序开发中,a=b+c;
赋值之后,b或者c的值变化后,a的值不会跟着变化。响应式编程目标就是,如果b或者c的数值发生变化,a的数值会同时发生变化。
函数式编程
函数式编程是一系列被不公平对待的编程思想的保护伞,它的核心思想是,它是一种将程序看成是数学方法的求值、不会改变状态、不会产生副作用(后面我们马上会谈到)的编程方式。
FP 核心思想强调:
-
声明式代码 —— 程序员应该关心是什么,让编译器和运行环境去关心怎样做。
-
明确性 —— 代码应该尽可能的明显。尤其是要隔离副作用避免意外。要明确定义数据流和错误处理,要避免 GOTO 语句和 异常,因为它们会将应用置于意外的状态。
-
并发 —— 因为纯函数的概念,大多数函数式代码默认都是并行的。由于CPU运行速度没有像以前那样逐年加快((详见 摩尔定律)), 普遍看来这个特点导致函数式编程渐受欢迎。以及我们也必须利用多核架构的优点,让代码尽量的可并行。
-
高阶函数 —— 函数和其他的语言基本元素一样是一等公民。你可以像使用 string 和 int 一样的去传递函数。
-
不变性 —— 变量一经初始化将不能修改。一经创建,永不改变。如果