我在这里看到很多关于函数式语言的讨论。为什么你要使用传统语言而不是传统语言呢?他们在哪些方面做得更好?他们更不擅长什么?理想的函数式编程应用程序是什么?
当前回答
我敢打赌,当你使用以下方法时,你并不知道你在进行函数式编程:
Excel公式 石英的作曲家 JavaScript Logo(海龟图形) LINQ SQL js(或Lodash), D3
其他回答
我同意第一点,但是时代变了。公司会做出回应,即使他们是后期采用者,如果他们看到有一个优势。生活是动态的。
90年代末,他们在斯坦福教授哈斯凯尔和ML。我相信卡内基梅隆大学、麻省理工学院、斯坦福大学和其他一些好学校正在向学生们展示它。
我同意大多数“在网络上公开关系数据库”的应用程序将在很长一段时间内继续这样做。对于这个问题,Java EE、. net、RoR和PHP已经演化出了一些非常好的解决方案。
您发现了一些重要的问题:这可能是其他方法无法轻松解决的问题,而这些方法将促进函数式编程。那是什么?
大规模多核硬件和云计算会推动它们向前发展吗?
大多数应用程序都足够简单,可以用正常的面向对象方法解决
OO的方式并不总是“正常的”。这个十年的标准是上个十年的边缘化概念。 函数式编程是数学。Paul Graham谈Lisp(用函数式编程取代Lisp):
简单解释一下 20世纪50年代的语言并没有过时 不是技术而是数学,而且 数学不会过时。正确的 Lisp不是20世纪50年代的东西 硬件,但是,比如说,快速排序 算法,是在 1960年,现在仍然是最快的 通用的排序。
呃,很抱歉,我是一个学究,但它已经流行起来了——我们称之为Excel。
http://research.microsoft.com/en-us/um/people/simonpj/papers/excel/
在计算机上运行的绝大多数程序都是用Excel或其众多流行克隆版本之一编写的。
(有许多程序运行多次,而用Excel编写的程序往往不是其中之一-大多数Excel程序都有1个运行实例)
在我看来,那些从未在本科阶段学习过Lisp或Scheme的人现在正在发现它。与这个领域的许多事情一样,有一种炒作和创造高期望的倾向……
一切都会过去的。
函数式编程很棒。然而,它不会统治世界。C、c++、Java、c#等语言仍将存在。
我认为这会带来更多的跨语言能力——例如,用函数式语言实现一些东西,然后用其他语言访问这些东西。
我一定是糊涂了,但我还是不明白。是否有像f#这样的函数式语言编写的小型应用程序的实际例子,你可以查看源代码,并了解如何以及为什么使用这种方法比c#更好?