函数式编程(英语:functional programming)或称函数程序设计、泛函编程,是一种编程范式,它将计算机运算视为函数运算,而且避免使用程序状态以及易变对象。其中,λ演算(lambda calculus)为该语言最重要的基础。并且,λ演算的函数能够接受函数看成输入(引数)和输出(传出值)。php
比起指令式编程,函数式编程更增强调程序执行的结果而非执行的过程,倡导利用若干简单的执行单元让计算结果不断渐进,逐层推导复杂的运算,而不是设计一个复杂的执行过程。算法
函数式编程中最古老的例子莫过于1958年被创造出来的Lisp了。函数式编程更加现代一些的例子包括Clean、Clojure、Erlang、Haskell、Miranda、Scheme等。编程
虽然λ演算并不是设计来于计算机上运行,但它能够被视做第一个函数式编程语言。1980年代末期,集函数式编程研究成果于大成的Haskell发布。数据结构
基于JavaScript的某些开发理念强调函数式的实现方法。数据结构和算法
函数式编程常被认为严重耗费CPU和存储器资源。主因有二:编程语言