函数式语言

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

函数式语言
函数式语言(functional language)一类程序设计语言,是一种非冯·诺伊曼式的程序设计语言。

函数式语言主要成分是原始函数、定义函数和函数型。

这种语言具有较强的组织数据结构的能力,可以把某一数据结构(如数组)作为单一值处理;可以把函数作为参数,其结果也可为函数,这种定义的函数称为高阶函数,程序就是函数,程序作用在结构型数据上,产生结构型结果,从根本上改变了冯·诺伊曼式语言的"逐词"工作方式。

介绍
由于计算机技术的不断发展,函数式编程语言逐渐得到人们的重视。

我们现在使用的大多数编程语言大都是以冯诺伊曼式的计算机为设计背景,所以我们称这些计算机编程语言为诺伊曼式语言。

1977年,John Backus提出了函数式编程语言,这种语言以非冯诺伊曼式的计算机为设计而背景,所以我们又称这样的函数式编程语言称为非冯诺伊曼式语言。

函数式编程,又称泛函编程,是一种编程范型,它将电脑运算视为数学上的函数计算,并且避免状态以及可变数据。

函数编程语言最重要的基础是λ演算。

而且λ演算的函数可以接受函数当作输入(引数)和输出(传出值)。

和命令式编程相比,函数式编程强调函数的计算比指令的运行重要。

和程序编程相比,函数式编程裹,函数的计算可随时调用。

Haskell是一种于1980年代末期所发布的函数式编程语言,Haskell函数式编程语言是在Miranda的基础上得到了,它对Miranda进行了标准化,所以这种语言集合了其他相关函数式编程开发的原理,它无需花费太多的赘述就能完成一些数据结构,比如链表和矩阵,是当前最广泛地被用于研究的一种函数式编
程语言。

它的语言衍生物有很多,有扩充Haskell、并行Haskell和面向对象的变体如Mondrian等。

与此同时,它还被用作为在新语言设计时的标准模板。

另一种函数式编程语言是Clean,它和Haskell有很多一样的地方。

目前这门语言是用C写成的,由尼兹梅根大学负责维护。

还有一种函数式编程语言是Meta Language,MetaLanguage是由爱丁堡大学与上个世纪七十年代末所开发的,它被归类为非纯函数式编程语言,它之所以有这样的归类是因为它允许了副作用和指令式编程的使用。

目前,函数式编程语言还有F#,这是一款针对.NET平台的开放研究的语言。

使用意义
函数式编程语言相对于其他编程语言具有以下意义:首先,函数式编程语言的代码十分简单,加快了开发的速度。

并且由于在使用函数式编程语言时,程序员会大量使用到函数,从而减少了重复的代码,因而程序比较短。

其次,函数式编程语言更加接近我们使用的自然语言,程序员在学习和使用它的时候更加快捷容易。

函数式编程语言的自由度很高,十分接近自然语言写出的代码。

另外,函数式编程语言的代码管理更加方便。

函数式编程不会对外部产生依赖,也不会修改外界的状态。

程序员只需把指定的参数给函数,相同的参数其返回的结果必定是相同的。

另外,函数式编程语言还支持并发编程,这就使得程序员在进行函数式编程时完全不用考虑死锁的问题,因为它根本就不修改变量,所以就不存在锁线程的问题。

最后,函数式编程语言的代码支持代码热升级。

相关文档
最新文档