函式式程式設計

2022-01-30 01:21:11 字數 706 閱讀 3272

函式式程式設計  函式式程式設計是種程式設計典範,它將電腦運算視為函式的計算。函式程式語言最重要的基礎是 λ 演算(lambda calculus)。而且λ演算的函式可以接受函式當作輸入(引數)和輸出(傳出值)。

和命令式程式設計相比,函式式程式設計強調函式的計算比指令的執行重要。

和過程化程式設計相比,函式式程式設計裡,函式的計算可隨時呼叫。

歷史雖然 λ 演算並非設計來於計算機上執行,但可視為第乙個函式式程式語言。2023年代末期,haskell發布,企圖集合很多函式式程式設計研究裡的想法。

速度和空間上的顧慮

函式式程式設計常被認為嚴重耗費在cpu和記憶體資源。主因有二:

早期的函式式程式語言實現時並無考慮過效率問題。

非函式式程式語言為求提公升速度,會在某些部分放棄邊界檢查或垃圾**等功能。

緩式評估亦為語言如haskell增加了額外的管理工作。

函式式程式語言

純函式式的程式沒有變數和***。

函式式程式設計經常使用遞迴。

純函式式程式語言

因為純函式式程式語言沒有變數,函式沒有***,編寫出的程式可以利用memoization、common subexpression elimination和平行計算在執行時和編譯時得到大量優化。

例子函式式程式設計中最古老的例子莫過於2023年被創造出來的lisp了,透過 lisp,可以用精簡的人力。較現代的例子包括haskell、clean、erlang和miranda等。

函式式程式語言python 函式式程式設計

函式是python內建支援的一種封裝,我們通過把大段 拆成函式,通過一層一層的函式呼叫,就可以把複雜任務分解成簡單的任務,這種分解可以稱之為面向過程的程式設計。函式就是面向過程的程式設計的基本單元。而函式式程式設計 請注意多了乙個 式 字 functional programming,雖然也可以歸結...

函式式程式設計

最近在看一些關於js方面的東東,除了些ajax的基本應用,還了解了些函式式程式設計 fp 的東東。雖然以前也玩過幾天lisp的,不過因為當時完全對fp的東西沒有概念,壓根就不知道原來這是list那一族最大的特性之一 另外我知道的還有個是gc,orz.光注意那些詭異的 表 去了。總結一下,傳統上認為f...

函式式程式設計

維基百科 函式式程式設計 英語 functional programming 或者函式程式設計,又稱泛函程式設計,是一種程式設計范型,它將計算機運算視為數學上的函式計算,並且避免使用程式狀態以及易變物件。函式程式語言最重要的基礎是 演算 lambda calculus 而且 演算的函式可以接受函式當...