一.首先什么是函数式语言:
个人认为函数式语言就是函数式编程中使用的程序设计语言,函数式语言有两个特点:1.函数是头等值,是“头等公民”,即函数的使用是不受限制的。2.函数把输入值映射成输出值,给定输入,固定的输出,且没有副作用。
二.函数式语言包括:
最早的函数式语言当然是Lisp,现在有两个分支:Common lisp 和Scheme。Common lisp 是一个庞大的语言,支持多种编程范式,Scheme是Common lisp的子集,二者都是ANSI标准。Scheme 由于语言核心很小,多用在教育领域,Common Lisp多用来写专家系统,也可以构造大型软件。最纯的函数式语言是Haskell,完全没有副作用,有一个Hakell98标准,但还不是ANSI或ISO标准。
为什么如python/javascrip这些语言不是函数式语言呢,因为他们不具备函数式语言的特点2。
三.为什么函数式语言会火:
总结为两个字:便捷。
将运算过程尽量写成一系列嵌套的函数调用。