fbpx
维基百科

函数级编程

在计算机科学中,函数级(Function-level)编程,指称John Backus在他的将程序作为数学对象来研讨的著作中标识出的两种对立编程范型之一,另一种是值级(Value-level)编程。在Backus研究并出版他自己的函数级风格编程之时,他的提议在很大程度上被误解为支持传统的函数式编程[1]

概述 编辑

Backus在他的1977年图灵奖获奖演讲中,阐述了为何他认为在编程语言设计中需要切换到一种不同的哲学[2]

编程语言似乎遇到了麻烦。每种后续语言,虽做了一点清理,都合并了它的前任们的所有特征,并加上了更多的特征。[...] 每种新语言都宣称了新的和时尚的特征... 但是明显的事实却是,很少有语言使编程者能足够廉价或更加可靠的去验证生产和学习使用它们的代价是值得的。

他设计的FP语言成为了第一个专门支持函数级编程风格的编程语言。函数级程序是无变量(variable-free)的,也叫无点编程,因为程序变量在函数级程序中是不需要的,而它在值级定义中是根本性的。

与之对立的值级编程,Backus最初使用术语“对象级编程”,但是现在这么称呼可能会混淆于面向对象编程。值级程序是描述如何组合各种“值”(比如数、符号、字符串等),形成其他的值直到获得最终的“结果值”的程序。通过应用各种从值到值的函数比如加法、串接、逆矩阵等,从现存的值构造新的值。

在常规上,冯·诺依曼编程语言英语von Neumann programming languages都是值级的:在赋值语句右侧的表达式专一的关注建造接着要存储的一个值。基于Lambda演算的语言(比如LispISWIMScheme),在实际实践中都是值级语言,尽管它们不会因而在设计上的受到限制。

参见 编辑

引用 编辑

  1. ^ Hudak, Paul. Conception, evolution, and application of functional programming languages. ACM Computing Surveys. 1989, 21 (3): 359–411. doi:10.1145/72551.72554. 
  2. ^ Backus, John. Can programming be liberated from the von Neumann style?: A functional style and its algebra of programs (PDF). Communications of the ACM. 1978, 21 (8): 613–641 [2020-04-20]. doi:10.1145/359576.359579. (原始内容 (PDF)于2018-08-19). 

外部链接 编辑

  • Closed applicative languages, FP and FL (页面存档备份,存于互联网档案馆), in John W. Backus (Publications)

函数级编程, 在计算机科学中, 函数级, function, level, 编程, 指称john, backus在他的将程序作为数学对象来研讨的著作中标识出的两种对立编程范型之一, 另一种是值级, value, level, 编程, 在backus研究并出版他自己的函数级风格编程之时, 他的提议在很大程度上被误解为支持传统的函数式编程, 目录, 概述, 参见, 引用, 外部链接概述, 编辑backus在他的1977年图灵奖获奖演讲中, 阐述了为何他认为在编程语言设计中需要切换到一种不同的哲学, 编程语言似乎遇到了麻. 在计算机科学中 函数级 Function level 编程 指称John Backus在他的将程序作为数学对象来研讨的著作中标识出的两种对立编程范型之一 另一种是值级 Value level 编程 在Backus研究并出版他自己的函数级风格编程之时 他的提议在很大程度上被误解为支持传统的函数式编程 1 目录 1 概述 2 参见 3 引用 4 外部链接概述 编辑Backus在他的1977年图灵奖获奖演讲中 阐述了为何他认为在编程语言设计中需要切换到一种不同的哲学 2 编程语言似乎遇到了麻烦 每种后续语言 虽做了一点清理 都合并了它的前任们的所有特征 并加上了更多的特征 每种新语言都宣称了新的和时尚的特征 但是明显的事实却是 很少有语言使编程者能足够廉价或更加可靠的去验证生产和学习使用它们的代价是值得的 他设计的FP语言成为了第一个专门支持函数级编程风格的编程语言 函数级程序是无变量 variable free 的 也叫无点编程 因为程序变量在函数级程序中是不需要的 而它在值级定义中是根本性的 与之对立的值级编程 Backus最初使用术语 对象级编程 但是现在这么称呼可能会混淆于面向对象编程 值级程序是描述如何组合各种 值 比如数 符号 字符串等 形成其他的值直到获得最终的 结果值 的程序 通过应用各种从值到值的函数比如加法 串接 逆矩阵等 从现存的值构造新的值 在常规上 冯 诺依曼编程语言 英语 von Neumann programming languages 都是值级的 在赋值语句右侧的表达式专一的关注建造接着要存储的一个值 基于Lambda演算的语言 比如Lisp ISWIM和Scheme 在实际实践中都是值级语言 尽管它们不会因而在设计上的受到限制 参见 编辑串接编程语言 函数式编程 声明式编程 相较 隐式编程 指令式编程 对比 引用 编辑 Hudak Paul Conception evolution and application of functional programming languages ACM Computing Surveys 1989 21 3 359 411 doi 10 1145 72551 72554 Backus John Can programming be liberated from the von Neumann style A functional style and its algebra of programs PDF Communications of the ACM 1978 21 8 613 641 2020 04 20 doi 10 1145 359576 359579 原始内容存档 PDF 于2018 08 19 外部链接 编辑Closed applicative languages FP and FL 页面存档备份 存于互联网档案馆 in John W Backus Publications 取自 https zh wikipedia org w index php title 函数级编程 amp oldid 78599227, 维基百科,wiki,书籍,书籍,图书馆,

文章

,阅读,下载,免费,免费下载,mp3,视频,mp4,3gp, jpg,jpeg,gif,png,图片,音乐,歌曲,电影,书籍,游戏,游戏。