對函式式程式語言的理解

2022-09-06 10:03:13 字數 1437 閱讀 6117

1.什麼是函式式語言?

函式式程式語言歷史:

函式式程式設計中最古老的例子莫過於2023年被創造出來的lisp

了。函式式程式設計更加現代一些的例子包括clean

、clojure

、erlang

、haskell

、miranda

、scheme

等。雖然λ演算

並非設計來於計算機上執行,但它可以被視作第乙個函式式程式語言。2023年代末期,集函式式程式設計研究成果於大成的haskell發布。

基於j**ascript的某些開發理念強調函式式的實現方法。

函式式語言(functional language)一類程式語言,是一種非馮·諾伊曼式的程式語言。函式式語言主要成分是原始函式、定義函式和函式型。這種語言具有較強的組織資料結構的能力,可以把某一資料結構(如陣列)作為單一值處理;函式式程式語言最大的特點就是函式可以作為引數、結果也可以是函式,這種定義的函式稱為高階函式,程式就是函式,程式作用在結構型資料上,產生結構型結果,從根本上改變了馮·諾伊曼式語言的「逐詞」工作方式。

維基百科的定義:

函式式程式設計(英語:functional programming)或稱函式程式設計泛函程式設計,是一種程式設計正規化,它將計算機運算視為函式運算,並且避免使用程式狀態以及易變物件。其中,λ演算(lambda calculus)為該語言最重要的基礎。而且,λ演算的函式可以接受函式當作輸入(引數)和輸出(傳出值)。

比起命令式程式設計,函式式程式設計更加強調程式執行的結果而非執行的過程,倡導利用若干簡單的執行單元讓計算結果不斷漸進,逐層推導複雜的運算,而不是設計乙個複雜的執行過程。

2.函式式語言有那些?

(1)純函式式程式語言

其中bloomberg 和谷歌、facebook就是用 haskell 函式式程式語言進行垃圾過濾。

3.函式式程式語言為什麼會流行起來?

在函式式程式設計中,由於資料全部都是不可變的,所以沒有併發程式設計的問題,是多執行緒安全的。可以有效降低程式執行中所產生的***,對於快速迭代的專案來說,函式式程式設計可以實現函式與函式之間的熱切換而不用擔心資料的問題,因為它是以函式作為最小單位的,只要函式與函式之間的關係正確即可保證結果的正確性。

原因一:函式式程式語言的表達方式更加符合我們日常生活中的語法、**的可讀性更強,實現同樣的功能函式式程式設計相比較於物件導向程式設計所需要的**更加少、**更加簡潔清晰。

原因二:由於函式式程式語言更加簡潔的特點從而廣泛應用於科學研究中,科研專案對**的工程化要求低,開發速度快從而函式式程式語言更加高效。

函式式程式語言的缺點:

由於函式式程式語言的資料都是不可變的所以所有的變數在程式執行期間都一直存在,從而非常占用計算機的執行資源,此外函式式程式設計對於程式開發人員的要求很高,如果開發人員對函式式程式設計理解不夠深刻那麼開發出的程式就會出現很大的問題。

函式式程式設計理解

函式式程式設計 函式式程式設計是種程式設計方式,它將電腦運算視為函式的計算。函式程式語言最重要的基礎是 演算 lambda calculus 而且 演算的函式可以接受函式當作輸入 引數 和輸出 返回值 1 和命令式程式設計相比,函式式程式設計強調函式的計算比指令的執行重要。和過程化程式設計相比,函式...

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

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

函式式程式語言

函式式程式設計是種程式設計方式,它將電腦運算視為函式的計算。函式程式語言最重要的基礎是 演算 lambda calculus 而且 演算的函式可以接受函式當作輸入 引數 和輸出 返回值 1 和命令式程式設計相比,函式式程式設計強調函式的計算比指令的執行重要。和過程化程式設計相比,函式式程式設計裡函式...