作爲一名狂熱的功能程序員,我總是希望讓更多的人進入函數式編程的精神。所以通常我會試着解釋FP爲他人提供的好處,但是迄今爲止沒有好運氣。在這個討論中經常出現的一個論點是,FP聽起來很好,但實際上似乎只適合於有限的學術目的。這通常得到爭論的支持,幾乎沒有任何公司使用功能性語言。「現實世界」中的功能技巧
我不能提出任何實質性的論據,反對在該公司中除了固有的雞蛋問題之外,公司缺乏FP的用途(我只知道有兩家公司使用OCaml,我認爲這種情況對於其他語言)。
但是一個出路這種說法往往是向他們展示,其中技術從FP(儘管也許不是語言)使人們的主流,並可能已經現在他們受益。例如,因爲我也使用了很多C++,所以我經常引用STL-Algorithm軟件包,它完全是以功能的方式完成的,因爲OOP只是無法輕鬆分離數據結構和算法。另一個例子是git,它使用一個非常類似於任何FP語言中表示樹的方式的不變數據結構(實際上除了與之前修訂的反向鏈接外,它完全相同),因爲這個數據結構提供了最簡單和最快的持久性。
什麼其他的例子在野外的FP-技術使用,你可以給?
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
只是出於好奇。你說你知道2家公司使用OCaml,哪家公司? (我只知道簡街) – insumity 2012-01-11 09:32:51
簡街是其中之一,另一個是MLState(但他們仍然是一個小創業公司)。 – LiKao 2012-01-11 10:00:05