PTT
Submit
Submit
選擇語言
正體中文
简体中文
PTT
Gossiping
[問卦] 有沒有Functional Programming的八卦
作者:
newup
(希望有個放縱的夜晚)
2017-12-24 17:09:06
現在好像很流行 函數式編程
好像就是用很多遞迴的寫法
可是遞迴不是會降低效能嗎?
本學店的老師 有做過類似的講座
https://www.youtube.com/watch?v=PQrVVPNA98I&t=1526s
可是我看完
我還是不懂 使用遞迴的好處在哪裡
重點是只有好debug嗎?
作者: zzzz8931 (肥宅)
2016-12-24 17:09:00
116 問 jserv
作者:
awashharp
(AwA)
2017-12-24 17:10:00
函數式編程?面向對象編程?
作者:
james732
(好人超)
2017-12-24 17:10:00
google一下就可以查到一堆資料了
作者:
Feketerigo
(黑鶇)
2017-12-24 17:10:00
遞迴速度超慢 除非不得已 不然我不喜歡用
作者:
moonshade
(一隻歐拉貓)
2017-12-24 17:11:00
看你怎麼寫用在什麼問題而已
作者:
SupCat
(空空)
2017-12-24 17:12:00
遞迴結構簡單 邏輯也清楚
作者:
moonshade
(一隻歐拉貓)
2017-12-24 17:12:00
講出速度超慢這就更好笑了,就push+jmp 是能有多慢真正的問題是stack有限
作者:
JamesForrest
(Forrest)
2017-12-24 17:12:00
編程,你還是回中國去吧
作者:
ckniening
(☞罌粟小子☜)
2017-12-24 17:13:00
有時候hen好寫
作者:
james732
(好人超)
2017-12-24 17:13:00
操作stack會是多餘的開銷沒有錯啊
作者:
awashharp
(AwA)
2017-12-24 17:13:00
只是想酸支那用語啦XD
作者:
moonshade
(一隻歐拉貓)
2017-12-24 17:14:00
stack是local memory,通常都在cache裡...如果要把資料丟進queue可以back track,都是一樣慢的用recursive function並不會比較慢通常不用遞迴解法就是開個queue 然後用switch模擬遞迴但是從組語看是作一樣的事只要語言支援expendable stack就不會有這問題C/C++是沒救了因為function call的架構是寫死的
作者:
freef1y3
( )
2017-12-24 17:21:00
tail recursion在compiler優化後跟loop效能是一樣的
作者:
hijkxyzuw
(i,j,k) ×(x,y,z)
2017-12-24 17:25:00
可以消除物件的狀態。函數式優雅、質樸,沒有多餘的部份。函數式語言中沒有冗餘的成份
作者:
freef1y3
( )
2017-12-24 17:28:00
我覺得函數式語言麻煩的地方是有些計算本來就有狀態概念例如Graph traversal要記錄哪些點已經走過了
作者:
hijkxyzuw
(i,j,k) ×(x,y,z)
2017-12-24 17:29:00
那就只能用 tail recurtion 把狀態傳下去lol例如 C 語言有 if while return and or 關鍵字,但事實上只需要用遞迴就能實現 while ,用形參實參就能實現 scope ,甚至物件也能用函數實現。也就是程式語也就是程式語言中大多功能都是多餘的,只有函數是必要
作者: zzzz8931 (肥宅)
2017-12-24 17:35:00
樓下 116 幫原 PO 問 jserv
繼續閱讀
[問卦] 這個便當值96元嗎?
shinmoner
Re: [新聞] 署長被爆成功嶺闖哨 役政署:檢討司機態
isaluku
[問卦] 肥宅平安夜、聖誕節吃KFC幾塊雞才算及格?
syearth
Re: [新聞] 傷口撒鹽!今年日本出生率再創歷史新低
iamflash
[問卦] 湯圓一顆5元 三顆不用錢 要怎麼買才划算
lol9978
[新聞] Wanna One行程滿檔累垮! 賴冠霖摔下舞
Zuleta
[新聞] 英國解密「六四」鎮壓細節 稱一萬人死亡
arsian
[問卦] 急!女生露乳溝的時候怎麼做才是正確的?
PttGod
[問卦] 花1300體驗用鐵盆吃飯的遊民生活是?
eDonkey
Re: [新聞] F-16戰機性能提升多花近兩百億 增加戰力U
KINMENKING
Links
booklink
Contact Us: admin [ a t ] ucptt.com