1. 程式人生 > >函數式語言(functional language)定義、函數式語言的種類以及為什麽函數式語言會流行起來的學習筆記

函數式語言(functional language)定義、函數式語言的種類以及為什麽函數式語言會流行起來的學習筆記

快捷 方式 語言 升級 clean 死鎖 並發執行 nbsp lis

一、什麽是函數式語言?
函數式語言一類程序設計語言,是一種非馮·諾伊曼式的程序設計語言。函數式語言主要成分是原始函數、定義函數和函數型。這種語言具有較強的組織數據結構的能力,可以把某一數據結構(如數組)作為單一值處理;可以把函數作為參數,其結果也可為函數,這種定義的函數稱為高階函數,程序就是函數,程序作用在結構型數據上,產生結構型結果,從根本上改變了馮·諾伊曼式語言的“逐詞”工作方式。

二、函數式語言的種類
函數式語言有OCaml, Lisp、Haskell、Clean、F#、Meta Language

三、為什麽函數式語言會流行起來?
函數式語言具有並行、單元測試、沒有額外作用、不修改狀態、引用透明、代碼部署熱等特點。
由於代碼簡單,加快了開發的速度;由於函數式語言的並行特點,程序員在編程過程中無需修改代碼程序就可並發執行,且運行期間程序不會產生死鎖;函數式編程語言的代碼十分簡單,加快了開發的速度。並且由於在使用函數式編程語言時,程序員會大量使用到函數,從而減少了重復的代碼,因而程序比較短。其次,函數式編程語言更加接近我們使用的自然語言,程序員在學習和使用它的時候更加快捷容易。函數式編程語言的自由度很高,十分接近自然語言寫出的代碼。另外,函數式編程語言的代碼管理更加方便。函數式編程不會對外部產生依賴,也不會修改外界的狀態。程序員只需把指定的參數給函數,相同的參數其返回的結果必定是相同的。最後,函數式編程語言的代碼支持代碼熱升級。

函數式語言(functional language)定義、函數式語言的種類以及為什麽函數式語言會流行起來的學習筆記