对函数式编程的呼吁
本文最初发表在Ŝalenzo.RTFD.io。
本文亦有下列语言版本:English。
想象一下,如果一门编程语言没有赋值语句会怎样。 变量成了常量,循环永不结束,因为条件不变。 一切都朝着确定的方向发展,直到有一刻,函数开始嵌套调用自身。 程序流程要么跳转到自身,要么不跳转到自身——很像循环吧? 不同的是,每回调用都有了名字。 一旦递归是循环的唯一方法,一条普通程序员从来不敢踏入的道路便延伸开来。 不敢,当然是因为效率问题。我们总是为效率付出一切。 可程序员的效率也是一种效率。 心中所想之寄存器化为数据,位模式化为数字,链接化为列表。 抛弃了变化后,抽象奇幻而优雅地降临到了身边。 尊敬的读者:今天,我并不是想让各位用函数式风格编写每一个程序。 但在成功解决问题,抑或是无从着手之时,还请试试——如果变量都不可变又会如何。