函数级编程在计算机科学中,函数级(Function-level)编程,指称John Backus在他的将程序作为数学对象来研讨的著作中标识出的两种对立编程范型之一,另一种是值级(Value-level)编程。在Backus研究并出版他自己的函数级风格编程之时,他的提议在很大程度上被误解为支持传统的函数式编程[1]。 概述Backus在他的1977年图灵奖获奖演讲中,阐述了为何他认为在编程语言设计中需要切换到一种不同的哲学[2]:
他设计的FP语言成为了第一个专门支持函数级编程风格的编程语言。函数级程序是无变量(variable-free)的,也叫无点编程,因为程序变量在函数级程序中是不需要的,而它在值级定义中是根本性的。 与之对立的值级编程,Backus最初使用术语“对象级编程”,但是现在这么称呼可能会混淆于面向对象编程。值级程序是描述如何组合各种“值”(比如数、符号、字符串等),形成其他的值直到获得最终的“结果值”的程序。通过应用各种从值到值的函数比如加法、串接、逆矩阵等,从现存的值构造新的值。 在常规上,冯·诺依曼编程语言都是值级的:在赋值语句右侧的表达式专一的关注建造接着要存储的一个值。基于Lambda演算的语言(比如Lisp、ISWIM和Scheme),在实际实践中都是值级语言,尽管它们不会因而在设计上的受到限制。 参见引用
外部链接
|
Index:
pl ar de en es fr it arz nl ja pt ceb sv uk vi war zh ru af ast az bg zh-min-nan bn be ca cs cy da et el eo eu fa gl ko hi hr id he ka la lv lt hu mk ms min no nn ce uz kk ro simple sk sl sr sh fi ta tt th tg azb tr ur zh-yue hy my ace als am an hyw ban bjn map-bms ba be-tarask bcl bpy bar bs br cv nv eml hif fo fy ga gd gu hak ha hsb io ig ilo ia ie os is jv kn ht ku ckb ky mrj lb lij li lmo mai mg ml zh-classical mr xmf mzn cdo mn nap new ne frr oc mhr or as pa pnb ps pms nds crh qu sa sah sco sq scn si sd szl su sw tl shn te bug vec vo wa wuu yi yo diq bat-smg zu lad kbd ang smn ab roa-rup frp arc gn av ay bh bi bo bxr cbk-zam co za dag ary se pdc dv dsb myv ext fur gv gag inh ki glk gan guw xal haw rw kbp pam csb kw km kv koi kg gom ks gcr lo lbe ltg lez nia ln jbo lg mt mi tw mwl mdf mnw nqo fj nah na nds-nl nrm nov om pi pag pap pfl pcd krc kaa ksh rm rue sm sat sc trv stq nso sn cu so srn kab roa-tara tet tpi to chr tum tk tyv udm ug vep fiu-vro vls wo xh zea ty ak bm ch ny ee ff got iu ik kl mad cr pih ami pwn pnt dz rmy rn sg st tn ss ti din chy ts kcg ve