函式式程式設計是種程式設計方式,它將電腦運算視為函式的計算。函式程式語言最重要的基礎是λ演算(lambda calculus),而且λ演算的函式可以接受函式當作輸入(引數)和輸出(返回值)。 [1]
和命令式程式設計相比,函式式程式設計強調函式的計算比指令的執行重要。
和過程化程式設計相比,函式式程式設計裡函式的計算可隨時呼叫。
1、 函式式語言有兩個個主要的特點:1. 函式是「頭等公民」。2. 資料的「immutability」. 操作的「無***」,
這規避了『鎖』。
函式式程式設計的函式是指數學上的函式:給定輸入固定的輸出,沒有***。任何語言都可以用函式式的風格,
只是難易不同罷了。
比如函式 y = f(x). 和 函式 t = g(z); 在數學上,當 t在f(x)的定義域內時,可以組成復合函式 y=f(g(z));
2、大致包括haskell、clean、erlang和miranda等語言
3、這幾年來,函式式程式設計似乎忽然紅火了起來,但事實上,函式式程式設計卻是個已經存在了四十餘年但長期只活躍於學術領域而非商業開發領域的乙個程式設計方式。對於函式式程式設計會流行這一話題沒有任何疑問,因為作為一種程式設計方式,它都用了大約四十年了。物件導向的程式設計師,每當為了編寫乾淨簡潔的**而使用了不可變物件時(immutable object),這都是借用了函式式程式設計的概念。
不過,強制性的函式式程式語言最近這些日子裡的確獲得了很多文章的關注,而這些語言是否將主宰未來的程式語言還是乙個懸而未決的問題。我自己的推測是,那種混合型、多正規化的語言,比如 scala
或 ocaml ,很可能會超過那些「純正的」函式式語言,正如純正的物件導向語言(smalltalk、beta 等):他們影響了主流程式設計但並未最終成為使用最多的語言
函式式程式語言python 函式式程式設計
函式是python內建支援的一種封裝,我們通過把大段 拆成函式,通過一層一層的函式呼叫,就可以把複雜任務分解成簡單的任務,這種分解可以稱之為面向過程的程式設計。函式就是面向過程的程式設計的基本單元。而函式式程式設計 請注意多了乙個 式 字 functional programming,雖然也可以歸結...
函式式程式語言F
文 高昂 作為微軟支援的第乙個函式式語言,f 在專案中被越來越多的開發者選用,8月的tiobe排行榜,f 挺進前二十。源於微軟研究院的f 語言因其優良的設計和強大的並行程式設計能力,正得到越來越多.net開發者的選用。在8月的tiobe語言流行度排行榜中,f 語言首次進入了前二十位。f 是微軟.ne...
Go語言函式式程式設計
更加嚴格的定義 函式體中包含自有變數和區域性變數 func adder func int int 這裡的sum就是自由變數,v是區域性變數。在cpp中同樣支援閉包 auto adder 在python中也是支援的 def adder sum 0 deff value nonlocal sumsum ...