我經常遇到面向對象和函數式編程之間以及命令式和函數式編程之間的比較。 「面向對象」和「勢在必行」是兩個截然不同的術語,根據我的理解,這兩個術語之間沒有任何關係。儘管如此,它們都與函數式編程相比。面向對象和命令式編程之間的關係是什麼證明了這一點?OO vs FP |勢在必行vs FP
1
A
回答
4
原因很簡單,主流OO編程(即Java,C#)是命令式編程的子類。
這是一個粗略的圖表:
progamming
/ \
declarative imperative
/ \ / \
functional \ OO procedural
logic
(prolog)
在聲明式編程,你說什麼是你想要計算。假設我們要計算一個鏈表的長度:
- 空列表的長度是0
- 一個非空列表的長度是一個比列表尾部的長度多。
在命令式編程,你基本上按照一定的順序操作內存:
int length = 0; // put starting value in memory
while (!list.isEmpty()) {
length++; // update memory
list = list.next(); // update list pointer for next iteration
}
// result is in memory location associated with length
所以,正確的comparisions是:
- 必須與聲明
- OO VS功能
相關問題
- 1. FP LCM在1線
- 2. FP增長算法
- 3. FP模式匹配
- 4. C++結構OO VS類OO
- 5. WEKA FP-增長java代碼
- 6. FP - 濃縮和'好'代碼
- 7. Java:Math.sqrt的32位fp實現()
- 8. fp/xsl文件中的Html
- 9. C++ FP樹或前綴樹
- 10. getc(fp)造成麻煩
- 11. FP(功能編程):符號
- 12. LTL關於Fp = TUp,在重寫F時真的有必要嗎?
- 13. 優勢VS Qpid
- 14. 如何回報FSEEK(FP,-1)在python
- 15. 在php codeignitor中的Fp增長算法
- 16. Z3:在FP和BitVector之間轉換?
- 17. 什麼是ASP.net在FP方面?
- 18. 繼承VS於二OO Langugage
- 19. 速度 - OO VS程序
- 20. FP-growth - 交易中的項目必須是唯一的
- 21. 使用CUDA的Fp增長算法
- 22. 使用if2和f2py禁用fp-model
- 23. 優勢VS ReSharper的
- 24. P2P語音聊天FP 10 rtmfp
- 25. FP Scala的排序功能解釋
- 26. FP = builtins.open(文件名, 「RB」) - 錯誤
- 27. fprintf中(FP, 「%C」,10)如預期
- 28. '/ FP:快' 和 '/ ZA' 不兼容的Visual C++
- 29. VS2013:float和/ EHa +/fp的編譯器bug:strict?
- 30. Scala遊戲編程 - OOP和FP之間
不可能說沒有小說XT。 –
可能適合更好cs.stackexchange.com – Sylwester