我在这里看到很多关于函数式语言的讨论。为什么你要使用传统语言而不是传统语言呢?他们在哪些方面做得更好?他们更不擅长什么?理想的函数式编程应用程序是什么?


当前回答

大多数应用程序都足够简单,可以用正常的面向对象方法解决

OO的方式并不总是“正常的”。这个十年的标准是上个十年的边缘化概念。 函数式编程是数学。Paul Graham谈Lisp(用函数式编程取代Lisp):

简单解释一下 20世纪50年代的语言并没有过时 不是技术而是数学,而且 数学不会过时。正确的 Lisp不是20世纪50年代的东西 硬件,但是,比如说,快速排序 算法,是在 1960年,现在仍然是最快的 通用的排序。

其他回答

OOP要花多长时间才能被普通的公司程序员理解? 我在乌得勒支大学(Utrecht University)学习函数式编程,我想是在1994年,直到最近几年它才开始在“现实世界”流行起来。 没有所谓的“简单应用程序”。: -)

我认为,当我们开始在硬件中添加越来越多的核心时,软件某些关键部分的免费编程(接近)将是必不可少的。给函数式编程多一点时间。在当前和未来的c#版本中,函数式编程将会让那些公司程序员在没有意识到的情况下做好函数式编程的准备……

为什么函数式编程很重要

因为FP在生产力、可靠性和可维护性方面有显著的好处。多核可能是一个杀手级应用程序,最终让大公司在大量遗留代码的情况下转换。此外,即使是像c#这样的大型商业语言,也因为多核问题而呈现出一种独特的函数风格——副作用根本不适合并发性和并行性。

我不认为“普通”程序员不能理解它。他们会的,就像他们最终理解了面向对象编程一样(它同样神秘和怪异,如果不是更神秘的话)。

此外,大多数大学都教授FP,许多甚至将其作为第一门编程课程。

哇,这是一个有趣的讨论。我对此有自己的看法:

FP使一些任务相对简单(与非FP语言相比)。 非FP语言已经开始从FP中汲取思想,所以我怀疑这种趋势会继续下去,我们将看到更多的合并,这将帮助人们更容易地过渡到FP。

即使您从未专业地使用过函数式语言,了解函数式编程也会使您成为更好的开发人员。它会给你一个新的视角来看待你的代码和编程。

我认为没有理由不去学习它。

我认为能够很好地混合函数式和命令式风格的语言是最有趣的,也是最有可能成功的。