zoukankan      html  css  js  c++  java
  • 函数式语言

    一.什么是函数式语言?

           函数式语言(functional language)一类程序设计语言.是一种非冯·诺伊曼式的程序设计语言.函数式语言主要成分是原始函数、定义函数和函数型.这种语言具有较强的组织数据结构的能力,可以把某一数据结构(如数组)作为单一值处理;可以把函数作为参数,其结果也可为函数,这种定义的函数称为高阶函数.程序就是函数,程序作用在结构型数据上,产生结构型结果,从根本上改变了冯·诺伊曼式语言的"逐词"工作方式.。

    二.常见的函数式语言有三类

    1 lisp类,分common lisp和scheme两大小类,特点是链表是基本语法结构和数据结构(因为函数式语言的不变性需要大量的数据拷贝,而list则可以以很小的代价进行拷贝)和类型系统不严格
    2 ML类,包括OCaml和F#,haskell等,特点是语法类似命令式,有严格和复杂的类型系统,能直接编译为本地代码
    3 各种脚本语言,如python,ruby,lua等,理论上javascript也是纯正的函数式语言。大多数仅仅是实现了lambda函数,有的实现了continue等更多特征。

    三.函数式语言的优点:

    1.不可变数据

    2.强制使用递归

    3.高阶函数和闭包

    四.为什么函数式语言会在这两年流行?

    函数式编程是种编程典范,它将电脑运算视为函数的计算。函数编程语言最重要的基础是 λ 演算(lambda calculus)。而且λ演算的函数可以接受函数当作输入(参数)和输出(返回值)。和指令式编程相比,函数式编程强调函数的计算比指令的执行重要。和过程化编程相比,函数式编程里,函数的计算可随时调用,所以流行起来。

  • 相关阅读:
    Html禁止粘贴 复制 剪切
    表单标签
    自构BeanHandler(用BeansUtils)
    spring配置中引入properties
    How Subcontracting Cockpit ME2ON creates SD delivery?
    cascadia code一款很好看的微软字体
    How condition value calculated in sap
    Code in SAP query
    SO Pricing not updated for partial billing items
    Javascript learning
  • 原文地址:https://www.cnblogs.com/guanven/p/10438760.html
Copyright © 2011-2022 走看看