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


当前回答

我认为你问题的答案更多地在于“工作的正确工具”这句话,而不是最热门的东西。总会有热门的新技术,也总会有人扑上去。

函数式语言已经出现了一段时间,只是现在它们得到了更多的报道。

其他回答

事情朝着功能性的方向发展已经有一段时间了。过去几年的两个很酷的新孩子,Ruby和Python,都比之前的函数语言更接近——以至于一些Lispers开始支持其中一个或另一个,认为“足够接近”。

随着大规模并行硬件给每个人带来了进化的压力——函数式语言是应对这些变化的最佳位置——认为Haskell或f#将成为下一个大事件的飞跃并不像以前那么遥远。

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

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

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

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

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

f#可能会流行起来,因为微软正在推动它。

Pro:

f#将成为Visual Studio下一个版本的一部分 微软建立社区已经有一段时间了——布道者、书籍、与知名客户合作的顾问,以及在微软会议上的大量曝光。 f#是第一个类。net语言,也是第一个具有强大基础的函数式语言(我不是说Lisp, Haskell, Erlang, Scala, OCaml没有很多库,他们只是没有。net那么完整) 强烈支持并行

合同:

即使你精通c#和。net, f#也很难上手——至少对我来说是这样的:( 可能很难找到好的f#开发人员

所以,我给f# 50:50的机会变得重要。其他函数式语言在不久的将来也不会出现。

呃,很抱歉,我是一个学究,但它已经流行起来了——我们称之为Excel。

http://research.microsoft.com/en-us/um/people/simonpj/papers/excel/

在计算机上运行的绝大多数程序都是用Excel或其众多流行克隆版本之一编写的。

(有许多程序运行多次,而用Excel编写的程序往往不是其中之一-大多数Excel程序都有1个运行实例)