小编Phi*_*her的帖子

真正理解程序和功能之间的区别

我真的很难理解程序函数编程范例之间的区别.

以下是维基百科关于函数式编程的前两段:

在计算机科学中,函数式编程是一种编程范式,它将计算视为数学函数的评估,并避免状态和可变数据.它强调功能的应用,与强调状态变化的命令式编程风格形成对比.函数式编程的根源在于lambda演算,这是一种在20世纪30年代开发的用于研究函数定义,函数应用和递归的正式系统.许多函数式编程语言可以被视为lambda演算的详细说明.

在实践中,数学函数与命令式编程中使用的"函数"概念之间的区别在于命令式函数可能具有副作用,从而改变程序状态的值.因此,它们缺乏参照透明度,即相同的语言表达式可能在不同的时间导致不同的值,这取决于执行程序的状态.相反,在函数代码中,函数的输出值仅取决于输入到函数的参数,因此f使用相同的参数值调用函数 两次x将产生相同的结果f(x).消除副作用可以更容易理解和预测程序的行为,这是开发函数式编程的关键动机之一.

在第2段中,它说

相反,在函数代码中,函数的输出值仅取决于输入到函数的参数,因此f使用相同的参数值调用函数两次x将产生相同的结果f(x).

程序编程的情况不一样吗?

什么应该在程序性和功能性中脱颖而出?

procedural-programming programming-languages functional-programming

110
推荐指数
5
解决办法
5万
查看次数