zoukankan      html  css  js  c++  java
  • 函数式编程

    函数式编程  函数式编程是种编程典范,它将电脑运算视为函数的计算。函数编程语言最重要的基础是 λ 演算(lambda calculus)。而且λ演算的函数可以接受函数当作输入(引数)和输出(传出值)。

      和指令式编程相比,函数式编程强调函数的计算比指令的执行重要。

      和过程化编程相比,函数式编程里,函数的计算可随时调用。

      历史

      虽然 λ 演算并非设计来于计算机上执行,但可视为第一个函数式编程语言。1980年代末期,Haskell发布,企图集合很多函数式编程研究里的想法。

      速度和空间上的顾虑

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

      早期的函数式编程语言实现时并无考虑过效率问题。

      非函数式编程语言为求提升速度,会在某些部分放弃边界检查或垃圾回收等功能。

      缓式评估亦为语言如Haskell增加了额外的管理工作。

      函数式编程语言

      纯函数式的程式没有变量和副作用。

      函数式编程经常使用递归。

      纯函数式编程语言

      因为纯函数式程式设计语言没有变量,函数没有副作用,编写出的程式可以利用memoization、common subexpression elimination和平行计算在运行时和编译时得到大量优化。

      例子

      函数式编程中最古老的例子莫过于1958年被创造出来的LISP了,透过 LISP,可以用精简的人力。较现代的例子包括Haskell、Clean、Erlang和Miranda等。
  • 相关阅读:
    JS跨域访问CORS配置
    在Maven中混用Java和Scala
    Linux下开源可视化工具Caravel安装(包含缺少js解决办法)
    linux环境下NPM安装小结(淘宝镜像)
    Spark学习笔记
    导出HBase数据到Excel(Java代码)
    Spark通过JdbcRdd连接Oracle数据库(scala)
    基于AngularJS+Bootstrap的多文件上传与管理
    Hadoop-1.2.1 安装步骤小结(ubuntu)
    git-remote-https.exe 无法找到入口
  • 原文地址:https://www.cnblogs.com/mokliu/p/2138925.html
Copyright © 2011-2022 走看看