函数式语言(老师作业)

时间:2022-10-12 22:50:54

1、什么是函数式语言?

函数式语言是一种非冯·诺依曼式的程序设计语言,具有较强的组织数据结构的能力,可以把某一数据结构(如数组)作为单一值处理;可以把函数作为参数被其他函数调用,其结果也可为函数,这种定义的函数称为高阶函数.程序就是函数,程序作用在结构型数据上,产生结构型结果,从根本上改变了冯·诺伊曼式语言的"逐词"工作方式。函数式编程就是将业务逻辑细化,抽象,封装成一个个功能函数,并借助语言自带的高阶函数api,将整个业务流程转化为函数之间的相互调用。学过面向对象编程就会感觉函数式和面向对象的思想很相似,都是对逻辑的抽象与封装。

2、有哪些函数式语言?

最古老的应该是LISP,较现代的包括Haskell、Clean、Erlang和Miranda,其实比较熟悉的python、javascript这些也算是函数式语言。

3、为什么函数式语言这两年会流行起来?

人性的懒惰驱使技术往更懒人化方便化的方向走,函数式编程支持闭包和高阶函数,支持惰性计算,为我们屏蔽底层的运算细节,使用递归作为控制流程的机制,加强了引用透明性,没有副作用,所以流行吧。不过它也有他的缺点。