函数式编程
来源:互联网 发布:巨人网络手游客服电话 编辑:程序博客网 时间:2024/05/17 01:24
函数式编程是种编程典范,它将电脑运算视为函数的计算。函数编程语言最重要的基础是 λ 演算(lambda calculus)。而且λ演算的函数可以接受函数当作输入(引数)和输出(传出值)。
和指令式编程相比,函数式编程强调函数的计算比指令的执行重要。
和过程化编程相比,函数式编程里,函数的计算可随时调用。
历史
虽然 λ 演算并非设计来于计算机上执行,但可视为第一个函数式编程语言。1980年代末期,Haskell发布,企图集合很多函数式编程研究里的想法。
速度和空间上的顾虑
函数式编程常被认为严重耗费在CPU和内存资源。主因有二:
早期的函数式编程语言实现时并无考虑过效率问题。
非函数式编程语言为求提升速度,会在某些部分放弃边界检查或垃圾回收等功能。
缓式评估亦为语言如Haskell增加了额外的管理工作。
函数式编程语言
纯函数式的程式没有变量和副作用。
函数式编程经常使用递归。
纯函数式编程语言
因为纯函数式程式设计语言没有变量,函数没有副作用,编写出的程式可以利用memoization、common subexpression elimination和平行计算在运行时和编译时得到大量优化。
例子
函数式编程中最古老的例子莫过于1958年被创造出来的LISP了,透过 LISP,可以用精简的人力。较现代的例子包括Haskell、Clean、Erlang和Miranda等。
和指令式编程相比,函数式编程强调函数的计算比指令的执行重要。
和过程化编程相比,函数式编程里,函数的计算可随时调用。
历史
虽然 λ 演算并非设计来于计算机上执行,但可视为第一个函数式编程语言。1980年代末期,Haskell发布,企图集合很多函数式编程研究里的想法。
速度和空间上的顾虑
函数式编程常被认为严重耗费在CPU和内存资源。主因有二:
早期的函数式编程语言实现时并无考虑过效率问题。
非函数式编程语言为求提升速度,会在某些部分放弃边界检查或垃圾回收等功能。
缓式评估亦为语言如Haskell增加了额外的管理工作。
函数式编程语言
纯函数式的程式没有变量和副作用。
函数式编程经常使用递归。
纯函数式编程语言
因为纯函数式程式设计语言没有变量,函数没有副作用,编写出的程式可以利用memoization、common subexpression elimination和平行计算在运行时和编译时得到大量优化。
例子
函数式编程中最古老的例子莫过于1958年被创造出来的LISP了,透过 LISP,可以用精简的人力。较现代的例子包括Haskell、Clean、Erlang和Miranda等。
- 函数式编程
- 函数式编程
- 函数式编程
- 函数式编程
- 另类函数式编程
- 函数式编程(FP)
- 函数式编程
- 函数式编程
- 函数式编程
- 函数式编程!
- 函数式编程指南
- F# 函数式编程
- 什么是函数式编程
- 函数式编程扫盲
- 函数式编程初探
- 函数式编程
- 函数式编程初探
- 函数式编程初探
- 取得TextBox某一行的字串
- Spring的下载和安装
- 用NetBackup恢复Oracle到异机
- .NET基础知识(一)
- 使用Java NIO编写高性能的服务器
- 函数式编程
- 找不到基本对象池:“java.lang.NoClassDefFoundError: org/apache/commons/pool/impl/GenericObjectPool”解决方法
- 带行号的RichTextBox
- 使用JS获取选中的文本
- 花生壳教程花生壳新手教程
- StringTokenizer 类的应用
- NBU SAN 异机恢复ORACLE
- λ演算
- HTTP Get与Post的区别