终于理解了函数式技术
今天在隨便看一些文章及思考的時候,突然就悟到了,這種感覺就象當(dāng)年某一天領(lǐng)悟了面向?qū)ο蟆9?#xff0c;我終于打通了任督二脈.
順便看下,園齡剛好10年了。
當(dāng)年理解面向?qū)ο蠛箅S手寫了這篇:
http://www.cnblogs.com/DSharp/archive/2005/01/28/98632.html
面向?qū)ο缶幊痰膬身斆弊?/strong>?
其實(shí)就是理解了面向?qū)ο蟮母?#xff0c;定義和實(shí)現(xiàn)的兩個面,通過接口關(guān)聯(lián)了起來。世界都是通過這種方式來分類呈現(xiàn)的。所謂易經(jīng)的陰和陽,陰陽轉(zhuǎn)化不過如此。
?
今天領(lǐng)悟到的,就是易經(jīng)里的那個不易,不變,就是函數(shù)式,函數(shù)的不變性,一致性,函數(shù)作為描述抽象及原理的,作為第一類的函數(shù)first function,就是終極。
所有的變化,最后都通過函數(shù)串了起來。而變化的后面,就是不變,以不變應(yīng)萬變。函數(shù)就是相當(dāng)于太極,無級就圖靈機(jī),Lambda,太極就是函數(shù)。
易有太極,始生兩儀,兩儀生四象,四象生八卦。
函數(shù)產(chǎn)生了定義及調(diào)用。又產(chǎn)生了參數(shù)和返回值。最后組成了對象的定義和實(shí)現(xiàn),然后派生了整個計算機(jī)世界。
可見,函數(shù)式編程的first function,改為all function也是可以的。先拋開函數(shù)式和面向?qū)ο蟮幕旌暇幊獭N覀儊砀Q探下函數(shù)式。
函數(shù)的終級原理就是函數(shù),函數(shù)是純數(shù)學(xué)模型,具有不變性。比如function add(a, b) {return a + b};這就是函數(shù)式編程的原子。它就是一條數(shù)學(xué)規(guī)則。一致的輸入產(chǎn)生一致的輸出,比如我們給入1,1,給出永遠(yuǎn)是2.
那么函數(shù)式編程所架構(gòu)的世界觀,就相當(dāng)于我們現(xiàn)實(shí)世界的物理及宇宙法則。變量是什么?是一個輸入,為什么會有最初始的輸入,這個已經(jīng)無需考證,從虛空的無極誕生了太極,道生了一,然后就開始函數(shù)式演變了。
所以函數(shù)式編程的特點(diǎn)就在于所處規(guī)則,至于輸入,在現(xiàn)實(shí)當(dāng)中順其自然就OK,我們關(guān)心的就是規(guī)則,比如上面的Add,這個規(guī)則一但實(shí)現(xiàn),那么就可以搞定所有的加法,這就是函數(shù)式的威力,你就象是計算機(jī)中的上帝,你需要的就是制定規(guī)則。
那么函數(shù)式開發(fā)和現(xiàn)在流行的開發(fā)差異在哪里?我們搞面向?qū)ο?#xff0c;我們要去做實(shí)體,數(shù)據(jù),控制器,業(yè)務(wù)邏輯,所有都是在模擬現(xiàn)實(shí),而對象是什么?是變化的中間態(tài),個體,實(shí)體,1,是一個對象,2,又是一個對象,張三是一個,李四又是一個。
然后呢,我們?nèi)プ鰧ο蟮念?#xff0c;就是類型抽象,人是一類,動物是一類,不停的分類,最終你會發(fā)現(xiàn),分類也是無窮無盡的。這是一個永完也做不完的任務(wù)。
而函數(shù)式呢?定義規(guī)則,或者說聲明,聲明式編程,我們根本無需考慮類型和實(shí)體。所以說類型表面上好象很厲害,實(shí)際上,天地以萬物為走狗,在上帝眼里,碼農(nóng)和土豪是一樣一樣的。
我們只要分規(guī)則就可以,一條大規(guī)則太復(fù)雜,怎么辦呢?細(xì)分,函數(shù)嵌套,高階函數(shù),柯里化,比如add(funa(a), funb(b)), 規(guī)則要反復(fù)使用呢?遞歸。
在函數(shù)規(guī)則上使用幾個大原則,世界就被定義出來了。這就是函數(shù)式!
當(dāng)然了,理解了只是入世,我們還要出世賺錢,窮則省吃儉用,達(dá)則請客吃飯,接下來,理論聯(lián)系實(shí)際,干出點(diǎn)有用的東西,還是需要不斷的學(xué)習(xí)及探索的。
?
?
?
?
轉(zhuǎn)載于:https://www.cnblogs.com/DSharp/p/3789545.html
創(chuàng)作挑戰(zhàn)賽新人創(chuàng)作獎勵來咯,堅(jiān)持創(chuàng)作打卡瓜分現(xiàn)金大獎總結(jié)
以上是生活随笔為你收集整理的终于理解了函数式技术的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 浅谈javascript继承【读java
- 下一篇: duilib学习领悟(4)