美文网首页
什么是函数式编程?

什么是函数式编程?

作者: Pandakingli | 来源:发表于2019-11-15 13:59 被阅读0次

    通过把大段代码拆成函数,通过一层一层的函数调用,就可以把复杂任务分解成简单的任务,这种分解可以称之为面向过程的程序设计。函数就是面向过程的程序设计的基本单元。

    函数式编程(注意多了一个“式”字)--Functional Programming,虽然也可以归结到面向过程的程序设计,但其思想更接近数学计算。

    首先要搞明白计算机(Computer)计算(Compute)的概念。

    • 在计算机Computer的层次上,CPU执行的是加减乘除的指令代码,以及各种条件判断和跳转指令,所以,汇编语言是最贴近计算机的语言。

    • 计算Compute则指数学意义上的计算,越是抽象的计算,离计算机硬件越远。

    • 越低级的语言,越贴近计算机,抽象程度低,执行效率高,比如C语言;

    • 越高级的语言,越贴近计算,抽象程度高,执行效率低,比如Lisp语言。

    函数式编程就是一种抽象程度很高的编程范式。
    纯粹的函数式编程语言编写的函数没有变量,因此,任意一个函数,只要输入是确定的,输出就是确定的,这种纯函数我们称之为没有副作用
    允许使用变量的程序设计语言,由于函数内部的变量状态不确定,同样的输入,可能得到不同的输出,因此,这种函数是有副作用的

    函数式编程的一个特点就是,允许把函数本身作为参数传入另一个函数,还允许返回一个函数。

    • 函数式编程与命令式编程不同在于:
      函数式编程关心数据的映射,命令式编程关心解决问题的步骤

    相关文章

      网友评论

          本文标题:什么是函数式编程?

          本文链接:https://www.haomeiwen.com/subject/vhtsictx.html