Categories
未分类

函数式编程的那些特性(一): Immutability

FBI warning: 这又是一个系列的文章(Hopefully),介绍Functional Programming的一些特性,以及Why there are so awesome! 目测将cover以下的一些话题: Immutability Pure function No side-effect High order function Curried Function Pattern matching Effect managements.(Monads, STM,…) Rethink OOP …… 目前没有办法确定更新频率,甚至没有办法保证一定会更新下去,只能说我尽量努力一个星期更新一遍,but I can’t give you my word. 另外,我相应你已经发现了,这些文章(Like every other posts)将会充斥着各种英文单词或句子。部分是为了装逼,部分是因为当我写到那里的时候,就想这么表达而已,感觉很带劲。所以,慎重关注,不喜还请轻喷! 这几天一直在折腾Elm,这门函数式编程语言,应该说,感觉真是酸爽。使用一门新的语言,在一个小的Community里面,还真的会有不少的问题,不少的坑。这些坑被你踩到的时候,可能还不能很快的得到解决,你要费一番功夫,你要Google得时间长一点,你要耐心的去看每一个相关的github issue、pull request,甚至相关的源码。此外,IDE的支持也是个大问题,可能每一个编辑器/IDE,都有不足的地方.比如说对于Elm开发,我现在的解决方案是,同时使用WebStorm(for editing files)和Atom(for linting),利用Mac的分屏功能,一边一个,这想想都觉得搞笑啊!但是,问到问题,解决问题,我想这也是程序员的一大乐趣吧! Anyway,这个系列的文章将介绍一下函数式编程(Functional Programming,以下简称FP)的一些特性。当然首先要解释的问题是,什么是函数式编程?这个概念我相信大家已经听烂了,但是究竟什么叫函数式编程呢?我们知道这个概念是跟面向对象编程一样,是一种编程模式,但是它跟OO有什么不同呢?有些人可能知道这是比OO更早出现的一种编程模式,但是为什么它没有像OO一想,如今得到如此广泛的应用?又是什么原因,最近这几年的编程界,大家又都在讨论这个东西? 我们一个一个问题来看,首先看看FP在Wikipedia的定义: In computer science, functional programming is a programming […]