函数式编程语言的入门级了解

          函数式编程functional programming)又称函数程序设计泛函编程,是一种编程范式,它将计算机运算视为函数运算,而且避免使用程序状态以及易变对象。其中,λ演算(lambda calculus)为该语言最重要的基础。并且,λ演算的函数能够接受函数看成输入(引数)和输出(传出值)。比起指令式编程,函数式编程更增强调程序执行的结果而非执行的过程,倡导利用若干简单的执行单元让计算结果不断渐进,逐层推导复杂的运算,而不是设计一个复杂的执行过程。php

        其主要分为三类:纯函数式编程语言,非纯函数式编程语言,其余函数式编程语言html

        纯函数式编程语言:编程

        非纯函数式编程语言:数据结构

        其余函数式编程语言:
编程语言

 函数式编程的历史:       函数式编程

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

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

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

 

为何函数式编程愈来愈受关注:设计

割让控制权

 

函数式编程语言使咱们可以用高层次的抽象取代其余核心构建块,并更注重结果而不是步骤。

 

结果比步骤更重要

 

函数式编程的特色之一是存在强大的抽象,它隐藏了许多平常操做的细节(好比迭代)

 
 

函数式语言在更细化的级别提供重用,在列表和映射等基本数据结构之上经过高阶函数提供定制,从而实现重用。

 

少许数据结构,大量操做

 

在面向对象的命令式编程语言中,重用的单元是类以及与这些类进行通讯的消息,这些信息是在类图中捕获的。该领域的开创性著做是 Design Patterns: Elements of Reusable Object-Oriented Software,至少为每一个模式提供一个类图。在 OOP 的世界中,鼓励开发人员建立独特的数据结构,以方法的形式附加特定的操做。函数式编程语言尝试采用不一样的方式来实现重用。它们更喜欢一些关键的数据结构(如列表、集和映射),而且在这些数据结构上采用高度优化的操做。传递数据结构和高阶函数,以便 “插入” 这种机制,针对某一特定用途对其进行定制。

   

 

 

与语言的趋势相一致

 

函数式编程的目标之一是最大程度地减小可变状态。

相关文章
相关标签/搜索