一、函数式语言是什么(what)
函数式语言(functional language)一类程序设计语言,是一种非冯·诺伊曼式的程序设计语言。函数式语言主要成分是原始函数、定义函数和函数型。这种语言具有较强的组织数据结构的能力,可以把某一数据结构(如数组)作为单一值处理;可以把函数作为参数,其结果也可为函数,这种定义的函数称为高阶函数,程序就是函数,程序作用在结构型数据上,产生结构型结果,从根本上改变了冯·诺伊曼式语言的“逐词”工作方式。
函数式编程,又称泛函编程,是一种编程范型,它将电脑运算视为数学上的函数计算,并且避免状态以及可变数据。函数式编程的核心是解决软件问题的一种新方法 - 通过关注算法的函数分解。函数编程语言最重要的基础是λ演算。而且λ演算的函数可以接受函数当作输入(引数)和输出(传出值)。和命令式编程相比,函数式编程强调函数的计算比指令的运行重要。和程序编程相比,函数式编程里,函数的计算可随时调用。
二、函数式语言种类
Haskell、Clean、Meta Language、coljure、scala
三、函数式语言流行原因
1、函数式编程语言的代码十分简单,加快了开发的速度
2、大量使用到函数,因此程序较短
3、学习和使用它的时候更加快捷容易
4、函数式编程语言的代码管理更加方便
5、支持并发编程
四、函数式语言主要特点
1. 函数是“头等公民”;2. 数据的“immutability”.,操作的“无副作用”,这规避了“锁”。
五、编程语言种类
1、结构化编程语言,比如C语言等。
2、函数式编程语言,比如OCaml, Lisp等。
3、逻辑式编程语言,比如Prolog等。
4、面向对象程序语言,比如Java等。