《函数式编程另类指南》:http://groups.google.co.uk/group/mimiqiao/browse_thread/thread/56c381a3aca1bbb4/cd66e3520762a827?hl=en
这是一篇非常优秀的文章,它不仅向我揭示了一个全新的编程世界,还将我的思想引到了对世界本源的思考中去...
参考文章内容,试想如果采用Continuations技术的函数式编程,一切的状态存储都变得无比的简单,你只需要保存指定时间的函数返回值及其下一个调用位置,就可以完美的保存程序的当前状态,即使使用多CPU并行运算,也仅仅是按照CPU的数量,多几份数据而已。
这样的话再大型的游戏,执行保存进度也仅仅是几微秒的事;大型软件在崩溃时也可以完美实现恢复;就算网络游戏及日后可能出现的大型网络应用程序所需保存状态的数据也并不会有增多...
后来看了作者最后的注释3,忽然明白,冯诺依曼的命令式计算机架构与阿隆左丘奇的函数式计算机架构,实际上是反映了对事物因果关系的两种不同的哲学观点:
冯诺依曼的观点,是将世界看作一个整体,不同事物之间存在特定联系,一种事物的变化同时会引发其他事物的变化,这种理论比较有代表性的就是蝴蝶效应(蝴蝶扇动翅膀与风暴之间的联系)和哥本哈根派量子论(事物不是客观实在的,它与观测者存在联系)。这种思想属于唯心主义。
而阿隆左丘奇的观点则是将事物的变化归结于此前对之有影响的事物,不同事物间的变化或有交错,但是更多时候是在彼此独立的并行运作,这种理论的代表是牛顿的经典物理学,这种思想认为只要了解了世界运作的公式以及世界在某一时刻的状态,就可以向后计算出世界的历史,也可向前推算出世界的未来。这种思想属于唯物主义。
两大计算机模式的背后或许还是波与微粒的战争、经典物理与量子论的战争、唯物与唯心的战争...
或许世界的真理就是存在于相反的两极,两极都是真理又都是谬误,两极既互斥又依存,所以地分两极、人分男女、计算机始终在处理着0和1——这最简单的数字却是未来揭开世界真理的最强大力量...