为什么这两年函数式编程又火起来了呢?

函数式编程的好处由于命令式编程语言也可以通过类似函数指针的方式来实现高阶函数,函数式的最主要的好处主要是不可变性带来的。没有可变的状态,函数就是引用透明(Referential transparency)的和没有副作用(No Side Effect)。一个好处是,函数即不依赖外部的状态也不修改外部的状态,函数调用的结果不依赖调用...
为什么这两年函数式编程又火起来了呢?
函数式编程的好处由于命令式编程语言也可以通过类似函数指针的方式来实现高阶函数,函数式的最主要的好处主要是不可变性带来的。没有可变的状态,函数就是引用透明(Referential transparency)的和没有副作用(No Side Effect)。一个好处是,函数即不依赖外部的状态也不修改外部的状态,函数调用的结果不依赖调用的时间和位置,这样写的代码容易进行推理,不容易出错。这使得单元测试和调试都更容易。不变性带来的另一个好处是:由于(多个线程之间)不共享状态,不会造成资源争用(Race condition),也就不需要用锁来保护可变状态,也就不会出现死锁,这样可以更好地并发起来,尤其是在对称多处理器(SMP)架构下能够更好地利用多个处理器(核)提供的并行处理能力。

1.根本原因是穆尔定律不适用。如果CPU不能制造任何量子物质,它基本上就是反应堆的核心。并行程序将大大提高效率,但程序的稳定运行也是一个问题。面向对象的处理,这是有难度的,例如,java,锁和各种同步。
2.由于追求效率、安全、稳定和速度,在多核CPU上并行编程会引起火灾。然后java也努力改革和进步,如功能的演变,如Java8,λ提供流,努力提高函数(方法)来的一等公民。流的透明度与非表达性揭示功能思维。虽然java的FP现在可能走在OOP的极端形式,它也表达了FP的优势和未来。

3.cpu的性能提升将体现在核数增加,这样并行的程序运行速度会越来越快。并行的程序的写法就是找出不能并行的地方,其他地方都尽量并行。
如果要这样写,最需要避免的事情就是赋值。函数式编程的本质就是,规避掉“赋值”。
2018-03-20
mengvlog 阅读 28 次 更新于 2025-09-11 08:32:21 我来答关注问题0
  • 函数式编程的好处由于命令式编程语言也可以通过类似函数指针的方式来实现高阶函数,函数式的最主要的好处主要是不可变性带来的。没有可变的状态,函数就是引用透明(Referential transparency)的和没有副作用(No Side Effect)。一个好处是,函数即不依赖外部的状态也不修改外部的状态,函数调用的结果不依赖调用...

  • anonymous 阐述函数编程的最新发展动态是什么?

    函数式编程的并行化:由于函数式编程强调函数之间的独立性和无状态性,因此函数式编程非常适合并行化处理。近年来,越来越多的函数式编程框架和库被开发出来,能够方便地实现并行化处理,提高程序的性能和效率。函数式编程与人工智能的结合:函数式编程的特点使其非常适合处理人工智能领域的问题。近年来,越来...

  • 在转向函数式编程的过程中,我发现了几个原因让我喜欢上这一编程风格。首先,函数式编程能够显著提高代码的可读性和可维护性,这体现在代码的简洁性和一致性上。其次,它提供了强大的抽象能力,使得复杂问题能够通过简单的函数组合来解决。再者,函数式编程强调的纯函数和无副作用特性,有助于程序的调试和...

  •  翡希信息咨询 函数式编程

    函数式编程是一种编程范式,它将计算过程视为数学上的函数求值,并避免使用状态以及改变状态的操作。函数式编程的发展历程经历了从命令式编程到面向对象编程,再到函数式编程的演变。在命令式编程中,程序由一系列改变状态的命令组成,而面向对象编程则通过封装、继承和多态等概念来组织代码。然而,这两种编...

  •  文暄生活科普 写给python初学者:python这么火热,到底前景如何?

    软件开发:Python作为一种高级编程语言,支持面向对象、函数式等多种编程范式,适用于各种类型的软件开发。商业应用:Python在商业领域也有着广泛的应用,如自动化测试、数据分析、机器学习等。二、Python的火爆并非昙花一现 尽管Python当前的火爆程度有些过分,但并不意味着这只是短暂的热度。从TIOBE编程语言...

檬味博客在线解答立即免费咨询

编程相关话题

Copyright © 2023 WWW.MENGVLOG.COM - 檬味博客
返回顶部