函式級編程
外觀
這是此頁批准,以及是最近的修訂。
佇電腦科學當中,函式級(Function-level)編程,指稱 John Backus 佇伊的共程式做為數學物件來研討的著作中標識出的兩種對立程式設計範式之一,另外一種是值級(Value-level)編程。佇咧 Backus 研究並出版伊家己的函式級風格編程之時,伊的提議佇咧真大程度上予人誤解為支援傳統的函式語言程式設計。
概述
Backus 佇伊的一九七七年圖靈獎獲獎演講著,闡述了為啥物伊認為佇咧程式語言的設計內底需要切換著一種無仝款的哲學:
> 程式語言敢若拄著麻煩。逐種後續語言,雖然做一寡清理,攏合併矣伊的前任阮的所有特徵,閣較濟的特徵。[. . .] 每一種新語言攏講新的和時尚的特徵 . . . 但是明顯的事實煞是,真罕得有語言使編程者會當超過俗價抑是閣較倚的去驗證生產佮學習使用𪜶的代價是值得的。 > >
伊設計的 FP 語言成為著頭一个專門支援函式級編程風格的程式語言。函式的程式是沒變數(variable-free)的,嘛叫無點編程,因為程式變數佇函式級程式內底是無需要的,伊佇咧值級定義中是根本性的。
佮對立的值級編程,Backus 上原初使用術語「物件級編程」,但是這馬遮爾稱呼可能會透濫著物件導向程式設計。值級程式是咧講按怎組合各種「值」(比如數、符號、字葩等), 形成其他的值得到上尾的「結果值」的程式。通過應用各種對值到值的函式譬如加法、串接、逆矩陣等等,對現存的值構造新的值。
佇常在規上,馮 ・ 諾依曼程式語言都是值級的:佇賦值語句正爿的表達式專一的關注建造紲落來欲儉的一个值。是因為 Lambda 演算的語言(比如講 Lisp、ISWIM 和 Scheme), 佇實際實踐中攏是值級語言,就算講𪜶袂因為咧設計的受著限制。
參見
- 串接程式語言
- 函式語言程式設計、聲明式編程(相比並)
- 隱式編程
- 指令式編程(對比)
參照
外部連結
- Closed applicative languages , FP and FL , in John W . Backus ( Publications )