函数式编程是声明式编程的子范式。与命令式编程相反,函数式编程不会改变程序的内部状态。
在命令式编程中,函数更多地被视为指令、例程或过程的序列。它们不仅依赖于存储在存储器中的状态,而且还可以改变该状态。这样,根据当前程序的状态,使用相同参数调用命令式函数可能会产生不同的结果,与此同时,被执行的函数更改了程序的变量。
在函数式编程术语中,函数类似于数学函数,函数的输出仅依赖于其参数,而不管程序的状态如何,完全不受函数是何时执行的影响。
函数式语言在当时变得如此受欢迎的原因之一是它们可以轻松地在并行环境中运行,这与多线程不太一样。函数式语言支持并行运行的关键在于它们的基本原理:函数仅依赖于输入参数而不依赖于程序的状态。也就是说,它们可以在任何地方运行,然后将多个并行执行的结果连接起来并进一步使用。
资料来源:《Java设计模式及实践》,文章链接:https://developer.aliyun.com/article/726838
版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。