Scala是一種多範式語言,功能就是其中的一種範例。我想學習函數式編程,而且Scala還有許多其他特性吸引我(它是一顆冉冉升起的新星,在JVM上運行,可以訪問Java庫等)。我的問題是:Scala的功能部分是否足以學習函數式編程的基礎知識?函數式編程可以通過Scala學習嗎?
0
A
回答
5
Coursework和book和另一個book說是。如果你想要的不僅僅是基礎知識,你可以添加一個library充滿靈巧的角落,有一個方便的tutorial。
1
是的。 Scala具有使語言起作用的所有功能。雖然沒有標準的定義,功能如同一流,能夠通過函數作爲參數,不變性,尾遞歸和others。
然而,Scala是對象功能的,其中可以使用對象和/或函數來解決基於問題空間的問題。如果你希望有這樣的靈活性,最好看一看。
PS:\在Scala 2.11中,我們期待scala中的宏。
相關問題
- 1. 學習函數式編程
- 2. Scala的函數式編程練習
- 3. 數學,編程和學習
- 4. netbeans可以學習類的php自定義函數參數嗎?
- 5. 函數式編程練習
- 6. 可以學習使用iOS 5書籍進行iOS編程嗎?
- 7. Scala可以通過引用調用嗎?
- 8. 可以通過編程方式暫停Android上的通話嗎?
- 9. 我應該學習一般的F#或函數式編程語言嗎?
- 10. 學習函數式編程語言有多困難?
- 11. 小型和良好的scala項目學習scala - 特別是函數式編程和類型系統
- 12. Scikit可以從IronPython學習嗎?
- 13. 單聲道OSX可以學習C#嗎?
- 14. 學習Python或Scala?
- 15. 與TDD學習Scala
- 16. 學習Uboot編程
- 17. 函數式編程中的哪些技術難以學習,但之後有用?
- 18. 學習HTML - 過程
- 19. PHP難以學習嗎?
- 20. 是否可以跳過學習浮動?
- 21. Ajax函數學習
- 22. 靜態模板函數可以通過編譯器內聯嗎?
- 23. 我可以通過編程方式驗證Dropbox API嗎?
- 24. 我可以通過編程方式觸發knockout viewmodel更新嗎?
- 25. 我可以通過編程方式更新wix.com網站嗎?
- 26. 我可以通過編程方式爲Android創建接口嗎
- 27. 我可以通過編程方式增加按鈕onclick-area嗎?
- 28. 可以通過編程方式終止TCP/IP協議棧嗎?
- 29. 我可以通過編程方式設置SQLNET.AUTHENTICATION_SERVICES =(NONE)嗎?
- 30. AmazonEC2-可以通過編程方式創建EC2賬戶嗎?
要應用功能性技術,至少需要*函數參數*和*閉包*。包括JavaScript,Perl,Go,Lua,C++ 11,Scheme在內的許多語言爲此提供了很好的實現(有些像Python,Php和Ruby也不太好)。更多的功能性「附加」是尾遞歸,不變性,「一切都是表達」和高級類型的系統。類型推斷。 Ocaml,Haskell和Scala都有這些,但是Scala首先是一個面向對象的語言,它可能會遮蔽一些功能方面。所以斯卡拉是足夠的,但需要OO不像Scheme,Haskell,Ocaml。 – amon