函数式编程学习之路(九) 人工智能

理解:

    经过仔细的思考和思维梳理,今天小有所得。试着把想法整理出来。

静态和动态,声明和具体,规则和使用等等,它们就是易经的乾坤,阴阳,万物上升到哲学上,殊归同途。

在面向对象世界里,表面上我们抽象了,实际上还是在"具体"的思维世界打转转.这是一个类,那是另一个类.然后我们去定义它们的特性,方法.当定义出来的时候,具体的东西也就逐步呈现. 

而最终在使用的时候,所有的东西都被New出来,都是具体的东西.都在操作具体的东西,实例,实例的属性,实例的方法,都是在用副作用来计算.

而作为虚拟世界的上帝,程序员能不能只是建立规则,模式,描述,声明这个世界,具体怎么运转,交给计算机去执行去演化呢?答案是可能的.

通过定义类型,定义范型,定义算法,定义规则,完全第一阶段.

然后去组合这些类型,组合规则,组合算法,完成第二阶段.

最后通过函数式,定义输入输出,通过高阶函数来粘合算法和规则,声明,所有这些都可以在抽象世界里完成.它就象是数学或物理里的公式,定理.这些定义,声明,描述,算法,组合成一个程序世界观,它可以是一个库,一套框架,一个软件.

它样设计出来的程序,软件,是不变的,是没有副作用的,是无错的,是不需要修改维护的,因为它就在那里!

一但它被设计出来,它就在哪里,这样的东西不变的增加,自由组合,有点类似生命世界里的基因片断.

动态,具体,就是在上面的规则下的一个大实例,一个规则描述下运行进化的"真实"世界,它们的规则或"潜规则"下运行...

扯远了...

原文地址:https://www.cnblogs.com/DSharp/p/3046038.html