Ruby 转:命令式编程的问题

chenge · 2014年04月01日 · 最后由 rasefon 回复于 2014年04月02日 · 1444 次阅读

简介

命令式编程比较牛吗?不!不!不!只是比较快,比较简单,比较诱人而已。 x = x + 1 在以前上小学的美好回忆里,我们可能都曾对上面这个式子感到困惑。这个 x 到底是什么呢?为什么加了一之后,x 仍然还是 x。

不知道为什么,我们就开始写程序了,也就不在乎这是为什么了。心想:“嗯”,“这不是什么大问题,编程就是事情做完最重要,没有必要去挑剔数学的纯粹性(让大学里的大鬍子教兽们去烦恼就好)” 。但我们错了,也因此付出极高的代价,只因我们不了解它。

理论部分

维基百科的解释:“函数式编程是一种写程序的范式,将计算视为对数学函数的求值,并避免使用状态及可变的数据”换句话说,函数式编程提倡没有副作用的代码,不改变变量的值。这与命令式编程相反,命令式编程强调改变状态。

令人惊讶的是,函数式编程就这样而已。那…有什么好处呢?

更简洁的代码:“变量”一旦定义之后就不再改动,所以我们不需要追踪变量的状态,就可以理解一个函数、方法、类别、甚至是整个项目是怎么工作的。

更多请见:https://github.com/JuanitoFatas/Ruby-Functional-Programming/blob/master/README-zhCN.md

#1 楼 @etnl 谢谢,原来是这位网友翻译的。

3 楼 已删除

为什么删了?

需要 登录 后方可回复, 如果你还没有账号请 注册新账号