2012-01-11 142 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