2012-01-11 46 views
4

作为一名狂热的功能程序员,我总是希望让更多的人进入函数式编程的精神。所以通常我会试着解释FP为他人提供的好处,但是迄今为止没有好运气。在这个讨论中经常出现的一个论点是,FP听起来很好,但实际上似乎只适合于有限的学术目的。这通常得到争论的支持,几乎没有任何公司使用功能性语言。“现实世界”中的功能技巧

我不能提出任何实质性的论据,反对在该公司中除了固有的鸡蛋问题之外,公司缺乏FP的用途(我只知道有两家公司使用OCaml,我认为这种情况对于其他语言)。

但是一个出路这种说法往往是向他们展示,其中技术从FP(尽管也许不是语言)使人们的主流,并可能已经现在他们受益。例如,因为我也使用了很多C++,所以我经常引用STL-Algorithm软件包,它完全是以功能的方式完成的,因为OOP只是无法轻松分离数据结构和算法。另一个例子是git,它使用一个非常类似于任何FP语言中表示树的方式的不变数据结构(实际上除了与之前修订的反向链接外,它完全相同),因为这个数据结构提供了最简单和最快的持久性。

什么其他的例子在野外的FP-技术使用,你可以给?

+0

C#3.5及以上版本正在将程序员转移到FP。它支持lambda表达式,而IEnumerable的LINQ扩展只是很棒。请参阅http://www.c-sharpcorner.com/uploadfile/rmcochran/introduction-to-functional-programming-in-C-Sharp/。 – 2012-01-11 08:08:39

+0

只是出于好奇。你说你知道2家公司使用OCaml,哪家公司? (我只知道简街) – insumity 2012-01-11 09:32:51

+2

简街是其中之一,另一个是MLState(但他们仍然是一个小创业公司)。 – LiKao 2012-01-11 10:00:05

回答

3

一个例子,我认为是高频交易。我确实认为那里有很多使用Erlang的公司。例如。 Sergey Aleyniko根据我的记忆被指控与他一起参与了高盛和萨克斯高频交易平台的一部分的Erlang代码。事实上,简街也在进行交易。

对于二郎我进一步相信,爱立信在使用它自己。此外,我认为它在电信业务领域经常使用。只要做一个谷歌搜索即Erlang Jobs。很多不同公司的许多与FP相关的工作都回来了。

+0

欧洲能源交易商的Trayport焦耳前端是用F#编写的。 http://www.slideshare.net/ptrelford/functional-architecture-goto-copenhagen-2012 – 2012-06-06 19:35:09