函数式编程的学习,这件事真是干的太对了,用在技术上,怎么说都不过分,从开始学习到现在近不到2月,头一个月感觉没太多收获,很多思想没有融会贯通.最近各个知识碎片开始产生化学反应.在大脑里开始形成各种概念.
首先来看看初步成果之一:
1.对对象的底层实现原理进一步理解.其实就是些函数和数据的组合而已.
2.对函数的底层实现原理进一步理解,其实就是一些数据和表达式,及其它函数的组合而已.
3.对表达式的进一步理解.其实就是一些数据的结构加上对这些数据的算法而已.
综上所述,有位大师的话真是说的很有道理,程序=数据+算法.
但我们这里再深入一下.程序=数据+数据结构+算法+算法组合
太简化的东西虽然是真理,但容易省略了一些对理解来说很重要的支撑,最最简单不代表一切精简到无,而是精简到人脑最容易理解吸收这个范围.
初步成果之二:
站在第一步的基础上,以前觉得写个编译器解释器,创造一门语言很困难.其实只要初步掌握函数式编程的一些理论,这玩意信手拈来,最近就在写一个,当然,写出一个不难,写出一个好的那还是相当困难的.
初步成果之三:
在第二步的基础上,写出操作系统也不是困难的事.当然,写出一个不难,写出一个好的那还是相当困难的.
由上可见,函数式编程其实是从应用级别进入系统级别的真钥匙.而这最重要的一点,其实很多所谓系统级别的四书五经,并没有提及.
函数式思想:
函数式思想和面向对象不一样,这两者更象是世界是波还是粒比组成的一样.都可以描述,方式完全不同.
函数式世界模糊了数据和计算,最终所有这些东西,都折叠,正交,分形似的连起来.假设一个函数是一个病毒,那么一个人体就是一个对象,一个函数侵入一个对象,不仅仅只是人体上多了一粒病毒这么简单,很可能会引发生化危机这样巨大的变异.
这:就是函数式编程的能量!