推 LPH66: 函數式語法本身跟計算快慢並沒有直接關連, 要看實作 11/30 18:39
其實我也沒有很清楚,不是學程式出身的,會問這個只是看到一些文章,比方說友板的
https://www.ptt.cc/bbs/PLT/M.1172348644.A.D49.html
還有這個
http://openhome.cc/Gossip/Programmer/FunctionalProgramming.html
都提到函數式的語法因為不會改變變數所以運算的過程中會大量使用遞迴,導致速度變慢
,雖然有其他方法加速,但是我不知道能做到甚麼程度
還是說其實我搞錯狀況,Mathematica根本沒有這些問題XD
→ LPH66: MMA 我不太清楚實作如何, 但應該沒有很糟才是 11/30 18:40
請問一下你指的實作是指?
→ LPH66: 那裡也有提到如果真的數值計算太多的話還有 Compile 這大絕 11/30 18:44
→ LPH66: 它會把函數式的 MMA 程式編譯成類似程序式的機械碼程式 11/30 18:46
感謝你提供這資訊,獲益良多! 最近也在改用函數式風格,程式簡潔清爽看得很舒服~
※ 編輯: Absolitude (140.114.235.65), 11/30/2016 19:55:04
推 LPH66: 那種不可變的值是純函數語言如 Haskell 等才會這樣 12/01 03:18
→ LPH66: MMA 有變數, 也有一些類似程序式的迴圈結構 (For, Do 等) 12/01 03:19
→ LPH66: 所以 MMA 其實不怎麼純函數, 但相對也沒那些負擔 12/01 03:20
→ Absolitude: 原來如此! 那就沒問題了! 謝謝! 12/01 05:13