<rt id="bn8ez"></rt>
<label id="bn8ez"></label>

  • <span id="bn8ez"></span>

    <label id="bn8ez"><meter id="bn8ez"></meter></label>

    tbwshc

    函數式編程的10年演化:越來越純

    在過去10年中,函數式編程的定義一直在慢慢改變,在“Wikipedia page on Functional Programming”上可以顯著地反映出來。

    在2003年8月14號之前的定義是:函數式編程作為一種模式,強調函數的使用。例如在2011年10月14號,維基百科用了220個單詞進行定義,在開頭這樣描述到:

    函數式編程是一種編程風格,它關注的是函數表達式的計算,而不是執行命令。在這些語言上,表達式把函數與基本功能相結合。

    函數式編程語言是一種支持和鼓勵將電腦運算當成函數計算,比較古老的函數式編程莫過于Lisp,較現代的Scheme,ML,Haskell,Erlang,Clean。Lisp是第一個函數式編程語言,它和Scheme,ML,Haskell一樣。

    這樣的定義一直維持到2003年8月14號,新百科全書在內容制作上有了結構化調整。Luxor把新百科全書的定義與維基百科相融合,創建了一個新的頁面并且用了1640個單詞進行重新定義,開頭定義到:

    函數式編程是一種編程范式,把計算看作是一種數學函數計算。與命令式編程相比,tb函數式編程關注的是函數表達式的計算而不是執行命令。在這些語言上,表達式把函數與基本功能相結合。

    在這一點上,函數式編程并不強調函數的使用,相反,它意味著編程要與數學函數相結合。在這個定義里還隱藏著另外一個意思:函數越來越純粹。這一條在定義里并沒有明確的表達出來。直到2006年5月29號:

    函數式編程是一種編程范式,把計算看作是一種數學函數計算。函數式編程關注的是函數定義而不是實現狀態機,與過程式編程相比,它強調命令的連序執行。一個純函數程序不會去修改狀態產生的值(適用于命令式編程),它會構造新的值(但不會覆蓋現有值)。

    對函數式編程或函數式編程語言沒有統一的共識。函數式編程語言的重要特征:高階和一級函數、閉包、遞歸。其他還包括編程語言連續性、Hindley-Milner類型診斷系統、懶惰計算和單體。

    這里還有一些小區別,關于(普通)函數編程和“純”形式的函數編程,避免使用不穩定的狀態。在2006年5月29號01:07分,在沒有任何征兆的情況下,一個叫ideogram的用戶進行了微小但是非常有意義的修改:

    •函數式編程是一種編程風格,把計算看作是一種數學函數計算并且避免狀態和可變數據。
    •函數式編程關注函數定義,與過程式編程相比,它強調命令的連序執行。
    •函數式編程的依賴λ演算(lambda calculus),Lisp和較新的Haskell。常常提到的是避免狀態和副作用(它提供對引用透明),高階函數,遞歸和閉包。
    該賬戶僅僅在編輯前幾天創建,后來就一直處于禁止狀態。

    最近,也就是在2012年7月14號,定義頁面又出現了新的變化:

    在計算機科學領域,函數式編程是一種編程范式,把計算看作是一種數學函數計算并且避免狀態和可變數據。它強調函數的應用,與命令式編程語言相比,強調狀態的變化。函數式編程根源于λ 演算,一個正式的函數式編程系統在20世紀30年代被開發,用來研究函數的定義,函數的應用和遞歸。許多函數式編程語言可以看作是對λ演算進行的闡述。

    在實際操作中,數學函數和“函數”概念之間在命令式編程上的差異主要表現為命令式函數編程存在改變程序狀態值這一缺點。因此,他們缺乏引用透明,相同的語言表達式根據執行應用程序狀態,在不同的時間可以產生不同的值。相反,在函數代碼上,函數的輸出值僅僅依賴于函數的輸入參數,所以,輸入同一個參數X兩次,那么輸出結果都是Y。消除副作用也更容易理解和預測程序的行為,這是函數編程語言發展的一個重要推動。

    [1]Hudak, Paul。“概念, 發展和函數式編程語言的應用”。ACM Computing Surveys 21 (3): 359–411。上述內容的含義是什么?這一變化是如何產生的?我們正卷入一場(小的)科學革命中,幕后推手又是誰?

    根據最新的定義,ML和Lisp不在是函數式語言。用這些語言的子函數去寫一些程序來避免可變狀態的使用。第一個需求是在ML中使用“ref”或者在Lisp中使用分配和構造突變。然而,對于ML和Lisp來說并不足夠,許多標準庫都存在負面作用,對于任何IO庫來說,都是如此。結果就是,程序在一個范圍內可以很方便地編寫比較單一的功能與風格,但這也是相當有限的。

     

    posted on 2012-07-24 16:45 chen11-1 閱讀(903) 評論(0)  編輯  收藏

    主站蜘蛛池模板: 国产97视频人人做人人爱免费| 亚洲国产成人综合| 亚洲黄黄黄网站在线观看| 免费a级毛片永久免费| 亚洲综合av永久无码精品一区二区| 亚洲不卡中文字幕无码| 亚洲欧洲精品久久| 久久精品亚洲综合一品| 大桥未久亚洲无av码在线| 三级网站免费观看| 好吊妞在线新免费视频| 久久亚洲国产精品123区| 亚洲一本到无码av中文字幕| 亚洲免费在线观看| 亚洲中文字幕无码日韩| 伊人久久大香线蕉免费视频| 久久国产精品亚洲综合| 午夜肉伦伦影院久久精品免费看国产一区二区三区 | 激情内射亚洲一区二区三区爱妻| 在线观看亚洲视频| 国产人成免费视频网站| 亚洲国产综合人成综合网站| 黄色网址免费在线观看| 午夜男人一级毛片免费| 免费亚洲视频在线观看| 红杏亚洲影院一区二区三区| 污视频在线免费观看| 亚洲精品无码99在线观看| 免费人成激情视频在线观看冫 | 亚洲日韩国产精品乱-久| 免费无码成人AV在线播放不卡| 国产在线98福利播放视频免费| 亚洲欧洲日产v特级毛片| 成年女人永久免费观看片| 亚洲欧洲精品一区二区三区| 午夜dj免费在线观看| 亚洲午夜精品一区二区麻豆| 亚洲精品偷拍视频免费观看| 亚洲高清视频免费| 亚洲黑人嫩小videos| 久久国产免费观看精品|