Functional programming 功能性技术在;“真实世界”;

Functional programming 功能性技术在;“真实世界”;,functional-programming,Functional Programming,作为一名狂热的函数式程序员,我总是对让更多的人了解函数式编程的精神感兴趣。因此,我通常试图解释FP会给其他人带来什么好处,但遗憾的是,到目前为止还没有好运气。讨论中经常出现的一个论点是,FP听起来很不错,但实际上似乎只适用于有限的学术目的。这通常得到这样一个论点的支持,即几乎没有任何公司使用函数式语言 我无法给出任何实质性的论据来反对公司中缺乏FP的使用,除了该论据中固有的鸡蛋问题(我只知道两家公司使用OCaml,我不认为其他语言的情况更好) 然而,解决这一争论的一个办法是向他们展示FP技术(尽

作为一名狂热的函数式程序员,我总是对让更多的人了解函数式编程的精神感兴趣。因此,我通常试图解释FP会给其他人带来什么好处,但遗憾的是,到目前为止还没有好运气。讨论中经常出现的一个论点是,FP听起来很不错,但实际上似乎只适用于有限的学术目的。这通常得到这样一个论点的支持,即几乎没有任何公司使用函数式语言


我无法给出任何实质性的论据来反对公司中缺乏FP的使用,除了该论据中固有的鸡蛋问题(我只知道两家公司使用OCaml,我不认为其他语言的情况更好)

然而,解决这一争论的一个办法是向他们展示FP技术(尽管可能不是语言)已经成为主流,并且可能现在已经让他们受益。例如,由于我使用了大量的C++,所以我经常引用STL算法包,这完全是以功能的方式完成的,因为OOP不适合于容易地在它们上分离数据结构和算法的任务。另一个例子是git,它使用了一种不可变的数据结构,非常类似于任何FP语言中表示树的方式(实际上除了以前版本的反向链接之外,它完全相同),因为这种数据结构提供了最简单和最快的持久性


你还可以举出在野外使用FP技术的其他例子吗?

我认为一个例子是高频交易。我确实认为有很多公司使用Erlang。例如,根据我的记忆,他被指控携带了作为高盛高频交易平台一部分的Erlang代码。事实上,简街也在进行交易


对于Erlang,我进一步相信爱立信自己也在使用它。此外,我认为它经常被用于电信领域的信息服务。只需在谷歌上搜索Erlang工作即可。许多不同公司的许多FP相关工作又回来了。

C#3.5及以上版本正在将程序员转移到FP。它支持lambda表达式,IEnumerable的LINQ扩展非常棒。看,只是出于好奇。你说你知道有两家公司使用OCaml,哪些公司?(我只知道Jane Street)Jane Street是其中之一,另一个是MLState(但他们仍然是一家小型初创企业)。此外,重复的:“我只知道两家公司使用OCaml,我认为其他语言的情况不会更好。”。我们有1000家企业客户向我们支付了OCaml或F#相关产品或服务的费用,包括苹果、Sun、Intrech、DV Studio、Hubbard One、Everita、Acacia、Gambit、Canon、Bedi、LMS、Softship、Transmedia、飞利浦、Plakton、诺基亚、Open Fuel、Dual Tech……Trayport面向欧洲能源交易商的焦耳前端是用F#编写的。