码迷,mamicode.com
首页 > 其他好文 > 详细

函数式编程

时间:2019-02-26 23:48:12      阅读:295      评论:0      收藏:0      [点我收藏+]

标签:direct   空间   tle   clean   基础   log   lazy   并且   scheme   

函数式编程(英语:functional programming)或称函数程序设计、泛函编程,是一种编程范式,它将计算机运算视为函数运算,并且避免使用程序状态以及易变对象。其中,λ演算(lambda calculus)为该语言最重要的基础。而且,λ演算的函数可以接受函数当作输入(引数)和输出(传出值)。

比起指令式编程,函数式编程更加强调程序执行的结果而非执行的过程,倡导利用若干简单的执行单元让计算结果不断渐进,逐层推导复杂的运算,而不是设计一个复杂的执行过程。

纯函数式编程语言

非纯函数式编程语言

其他函数式编程语言

历史

函数式编程中最古老的例子莫过于1958年被创造出来的Lisp了。函数式编程更加现代一些的例子包括CleanClojureErlangHaskellMirandaScheme等。

虽然λ演算并非设计来于计算机上运行,但它可以被视作第一个函数式编程语言。1980年代末期,集函数式编程研究成果于大成的Haskell发布。

基于JavaScript的某些开发理念强调函数式的实现方法。

速度和空间上的顾虑

函数式编程常被认为严重耗费CPU和存储器资源。主因有二:

  • 在实现早期的函数式编程语言时并没有考虑过效率问题。
  • 面向函数式编程特性(如保证函数参数不变性等)的独特数据结构和算法。

函数式编程

标签:direct   空间   tle   clean   基础   log   lazy   并且   scheme   

原文地址:https://www.cnblogs.com/chhhh/p/10440943.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!