函数式编程基础思想

作者: 热血沸腾 | 来源:发表于2017-12-20 16:08 被阅读348次

说明

网上有很多深入语言层次讲解函数式编程的应用,很多人无法理解,能用但是一头雾水,死记硬背,原因究其是核心思想不清楚。
我说的语言层次上的,例如
Spark
MapReduce
lambda
Groovy
RxJava
RxAndroid
等等吧,反正语言应用现在都几乎支持函数式编程思想

函数式编程定义

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

我的理解

看到上面来自百科的介绍,肯定无法明白。
先忘掉编程,想想小学数学公式。比如说勾三股四玄五,勾股定理。这个公式的推导过程,可能有好几行,好多公式不断的演算。这个过程有代入数字吗?没有! 只有公式在不断的演算,在程序中就是函数演算!因此
本质:函数式编程就是演算公式的过程

  1. 支持中间结果取得,只要你想要
  2. 具有惰性执行,因为演算是不执行的,真正执行是最后的公式代入变量
  3. 性能高,快,的确,不用计算中间量,占用较少计算机资源

历史

讲一下历史。关于函数式的,1985年LISP语言问世,这个语言世界范围内多少人在用呢?我觉得超不过1千人。这个语言是函数式的语言鼻祖。是计算机科学家兼数学科学家 使用的,是打通,演算 数学公式和计算机科学链接的桥梁。感兴趣的可以完整去看。

完结

再次看看百科定义的概念,是否豁然开朗。
再次看看语言层次上的应用并紧紧拥抱函数式编程就是公式推导 是否简单的多了呢?

相关文章

  • Scala函数式编程(四)函数式的数据结构 下

    前情提要 Scala函数式编程指南(一) 函数式思想介绍 scala函数式编程(二) scala基础语法介绍 Sc...

  • Scala函数式编程(五) 函数式的错误处理

    前情提要 Scala函数式编程指南(一) 函数式思想介绍 scala函数式编程(二) scala基础语法介绍 Sc...

  • RAC学习详解

    Block开发基础知识 链式编程思想简介 响应式编程思想简介 函数式编程思想简介 参考资料 iOS 关于MVC和M...

  • RxSwift初探(1)

    一、前提:函数响应式编程思想 简单来说 函数响应式编程 = 函数式编程 + 响应式编程 (1)函数式 函数式编程是...

  • 函数响应式编程思想 & RxSwift 核心逻辑(一)

    函数响应式编程思想 函数响应式编程思想即是将函数式编程和响应式编程相结合。 函数式编程 顾名思义,就是像函数一样的...

  • python面向对象1

    编程思想 编程思想:面向过程编程(穷人思想)、函数式编程、面向对象编程(富豪) 面向过程编程: 算法和逻辑 函数式...

  • 函数式编程基础思想

    说明 网上有很多深入语言层次讲解函数式编程的应用,很多人无法理解,能用但是一头雾水,死记硬背,原因究其是核心思想不...

  • Scala 入门

    1 函数式编程思想 1.1 介绍 1.2 scala函数式编程思想 2 环境搭建 3 实战 4 变量 函数 函数定...

  • iOS RAC学习

    一、RAC使用基础认知 RAC编程思想:响应式编程+函数式编程 在iOS中,类之间的传值,无非就是block、de...

  • part1整理

    函数式编程:JavaScript函数式编程指南 异步编程:异步编程 Promise源码 JavaScript基础知...

网友评论

    本文标题:函数式编程基础思想

    本文链接:https://www.haomeiwen.com/subject/ndigwxtx.html