我大多是Java開發人員,這是我擁有最多經驗的地方。我想提高自己的編碼技能,所以我正在學習一門功能性語言。學習函數式編程
我不希望它對我來說太大,我不想陷入太多陌生的事情,我想盡快趕上。
你可以推薦一個語言/平臺,我認真看待函數式編程嗎?
我大多是Java開發人員,這是我擁有最多經驗的地方。我想提高自己的編碼技能,所以我正在學習一門功能性語言。學習函數式編程
我不希望它對我來說太大,我不想陷入太多陌生的事情,我想盡快趕上。
你可以推薦一個語言/平臺,我認真看待函數式編程嗎?
說實話,這是一個很大的飛躍,使學習功能語言這樣的好處。我想說的是用「最純粹」的功能語言Haskell來深入探索。
書籍Real World Haskell和The Haskell School of Expression是很好的介紹。
Scala設計時考慮到了Java和JVM。聽起來像是一個很好的開始。
FunctionalJava是最有名的圖書館在Java中,開始函數式編程。
如果您有時間閱讀本書,請嘗試「Effective Java」。這對開發人員來說是一本很好的書。
我同意此答案。多年來,我一直在Bloch的書中使用這些想法,這導致我的Java代碼在任何地方都強烈使用不變性。這個單一的想法大大改變了我的想法,更多地思考函數式編程範例。它大大緩解了我現在學習的Scala。 – chaotic3quilibrium 2011-12-26 20:20:21
嘗試斯卡拉。它不是純粹的函數式編程語言,但它恰好適合您的工具箱。見Learning Scala。
另一個選項可能是Clojure。這也不是純FP,但是作爲Lisp方言,它提供了很多相關的功能。
我會嘗試scala,如果我發現哈斯克爾太多的一個飛躍:)謝謝! – JMM 2011-03-25 12:45:48
幾種可能性。 Scala在JVM上運行,所以你可以使用Java庫來做很多事情。我不是粉絲,它太複雜,需要學習很多語法。
計劃可以說是學習FP的最佳語言,因爲您可以在30分鐘內學習語法。
您還可以看看混合語言,如JavaScript,它也具有某些功能語言方面的功能(最重要的是封閉功能),但仍保留程序傳統語法。
我認爲最終,Scheme最終會比Scala更難以學習,至少對我而言更是如此。嘗試在第一次學習Scala時使用所有Scala當然很複雜。這是一個非常複雜而複雜的語言。然而,如果一個人只是在「無分號的Java」模式下使用Scala,然後只需要一點點大塊來學習新的Scala增強功能,Scala就完全不復雜。事實上,對於一個有經驗的Java開發人員來說,爲了實現_pragmatic_(即不完美)函數式編程,實現小的可實現的飛躍是完美的。 – chaotic3quilibrium 2011-12-26 20:23:31
作爲Java的新程序員,您最好看看Java領域的功能,比如有效的Java,* Java的官方API *以及許多其他的API。順便說一句,我喜歡Oreilly的Book 。
由於您非常有興趣學習函數式語言,因此我會建議Ocaml(Objective Caml)。我可以建議你一本好書來學習函數式編程和lambda微積分。
類型和編程語言通過Benjamin C. Pierce。
http://www.cis.upenn.edu/~bcpierce/tapl/
給雪人一個嘗試。這是一個先進的毫升方言jvm
它是純粹的功能,集成與Java很好,是靜態類型,比簡單比斯卡拉簡單。具有更簡單的類型系統,但具有完整的類型推斷。
不是原始問題的答案,但仍然是「潛入深處」的+1。 – 2011-03-23 16:43:35
另一個很好的網站,可以讓您輕鬆進入函數式編程的思想,就是「學習你更好的Haskell」:http://learnyouahaskell.com/chapters – chaotic3quilibrium 2011-12-26 20:18:46