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


当前回答

我很难想象纯函数式语言会成为当今的通用语言,其中的原因我就不赘述了(因为它们是煽风点火的材料)。也就是说,无论哪种语言(如果允许的话),函数式编程都能带来好处。对我来说,更容易测试我的代码。我经常和数据库打交道……我倾向于:

编写一个函数来获取数据、操作数据并返回数据 编写一个非常简单的包装器,调用数据库,然后返回通过函数传递该数据的结果

这样做允许我为操作函数编写单元测试,而不需要创建模拟之类的东西。

我确实认为纯函数式语言非常有趣……我只是觉得对我来说重要的是我们能从他们身上学到什么,而不是我们能用他们做什么。

其他回答

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

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

当阅读Tim Sweeney的《The Next主流编程语言:A Game Developer’s Perspective》时,我的第一个想法是——我必须学习Haskell。

PPT

谷歌的HTML版本

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

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

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

我同意第一点,但是时代变了。公司会做出回应,即使他们是后期采用者,如果他们看到有一个优势。生活是动态的。

90年代末,他们在斯坦福教授哈斯凯尔和ML。我相信卡内基梅隆大学、麻省理工学院、斯坦福大学和其他一些好学校正在向学生们展示它。

我同意大多数“在网络上公开关系数据库”的应用程序将在很长一段时间内继续这样做。对于这个问题,Java EE、. net、RoR和PHP已经演化出了一些非常好的解决方案。

您发现了一些重要的问题:这可能是其他方法无法轻松解决的问题,而这些方法将促进函数式编程。那是什么?

大规模多核硬件和云计算会推动它们向前发展吗?

大多数应用程序都可以用[此处插入您最喜欢的语言、范例等]来解决。

尽管如此,不同的工具可以用来解决不同的问题。函数只是允许另一种更高层次的抽象,当正确使用时,它允许我们更有效地完成工作。