终于理解了函数式技术

今天在随便看一些文章及思考的时候,忽然就悟到了,这种感受就象当年某一天领悟了面向对象。哈哈,我终于打通了任督二脉.html

顺便看下,园龄恰好10年了。编程

当年理解面向对象后随手写了这篇:架构

http://www.cnblogs.com/DSharp/archive/2005/01/28/98632.html函数式编程

面向对象编程的两顶帽子 函数

其实就是理解了面向对象的根本,定义和实现的两个面,经过接口关联了起来。世界都是经过这种方式来分类呈现的。所谓易经的阴和阳,阴阳转化不过如此。学习

 

今天领悟到的,就是易经里的那个不易,不变,就是函数式,函数的不变性,一致性,函数做为描述抽象及原理的,做为第一类的函数first function,就是终极。spa

全部的变化,最后都经过函数串了起来。而变化的后面,就是不变,以不变应万变。函数就是至关于太极,无级就图灵机,Lambda,太极就是函数。htm

易有太极,始生两仪,两仪生四象,四象生八卦。对象

函数产生了定义及调用。又产生了参数和返回值。最后组成了对象的定义和实现,而后派生了整个计算机世界。blog

可见,函数式编程的first function,改成all function也是能够的。先抛开函数式和面向对象的混合编程。咱们来窥探下函数式。

函数的终级原理就是函数,函数是纯数学模型,具备不变性。好比function add(a, b) {return a + b};这就是函数式编程的原子。它就是一条数学规则。一致的输入产生一致的输出,好比咱们给入1,1,给出永远是2.

那么函数式编程所架构的世界观,就至关于咱们现实世界的物理及宇宙法则。变量是什么?是一个输入,为何会有最初始的输入,这个已经无需考证,从虚空的无极诞生了太极,道生了一,而后就开始函数式演变了。

因此函数式编程的特色就在于所处规则,至于输入,在现实当中顺其天然就OK,咱们关心的就是规则,好比上面的Add,这个规则一但实现,那么就能够搞定全部的加法,这就是函数式的威力,你就象是计算机中的上帝,你须要的就是制定规则。

那么函数式开发和如今流行的开发差别在哪里?咱们搞面向对象,咱们要去作实体,数据,控制器,业务逻辑,全部都是在模拟现实,而对象是什么?是变化的中间态,个体,实体,1,是一个对象,2,又是一个对象,张三是一个,李四又是一个。

而后呢,咱们去作对象的类,就是类型抽象,人是一类,动物是一类,不停的分类,最终你会发现,分类也是无穷无尽的。这是一个永完也作不完的任务。

而函数式呢?定义规则,或者说声明,声明式编程,咱们根本无需考虑类型和实体。因此说类型表面上好象很厉害,实际上,天地以万物为走狗,在上帝眼里,码农和土豪是同样同样的。

咱们只要分规则就能够,一条大规则太复杂,怎么办呢?细分,函数嵌套,高阶函数,柯里化,好比add(funa(a), funb(b)), 规则要反复使用呢?递归。

在函数规则上使用几个大原则,世界就被定义出来了。这就是函数式!

固然了,理解了只是入世,咱们还要出世赚钱,穷则省吃俭用,达则请客吃饭,接下来,理论联系实际,干出点有用的东西,仍是须要不断的学习及探索的。

相关文章
相关标签/搜索