有两种方式构建软件设计:
一种是把软件做得很简单以至于明显找不到缺陷;
另一种是把它做得很复杂以至于找不到明显的缺陷;
数据与计算的关系
传统的计算模型是数据向程序靠拢:数据流向计算程序
大数据的技术模型是:程序向数据靠拢:程序流向数据(分布式部署),归并后再流向程序
闭包与对象
闭包是附有数据的行为,对象是附有行为的数据
大家观察下:闭包与对象,传统技术与分布式计算其实都是逆向思维的产物,这个也是编程思维的一次跳跃
程序模型:
所有的程序模型都是围绕着输入、输出,和过程处理来展开的;这也是世界万物之间交互的最基本模型;我们总是企图使用程序来模拟世界万物的交互,未曾想交互异常复杂,原因:
世界万物天生是并行的,任意时刻事物都是独立存在和变化的;
世界万物本身之间存在相互的作用;
世界上的万物存在关联性:动物,植物,微生物等等;
这就给程序设计带来极大的困难:最基本的程序线性的,是一维的,其结果是可以预测的,最多只具备描述事物的一个特征:其只有顺序,循环,分支