zoukankan      html  css  js  c++  java
  • 面向对象与函数式编程-世界观

    面向对象:

    一切皆对象;通过对象的构建和组合来模拟系统,最终通过这个系统来解决问题。

    消息和信息在这个系统中流转。

    语言的底层支持就是通过对象来构建以对象为单元的联系的系统。

    函数式编程:

    一切皆计算;这个系统就是通过计算单元的组合构建成更大的计算单元,从而完成对信息和信号的处理。

    本质上就是构建一个信号处理系统。

    语言的底层支持是支持计算的组合和构建。

    换句话说,函数式编程语言的关键字和底层单元都是构建器,这个构建器的输入是计算单元,输出是更大的计算单元。

    构建器本身完成函数调用的约定、部分变换处理、惰性计算等操作。本质上是组合的关键部件,完成组合和转换的功能。

    引入monad就是为了这个目的,即语言底层的组合和变换支持。

    这两种编程范式具有不同的世界观。

    面向对象模拟多维联系的世界;

    函数式编程模拟信号处理系统。

    这就决定了它们的使用场景的不同。

    面向对象处理联系的复杂性和多维性;面向对象简化联系。

    函数式编程处理计算的复杂性和信号处理的复杂性;函数式编程简化计算。

  • 相关阅读:
    storm原理写得比较好的文章
    maven设置jdk版本
    项目中记录log4j记录日志
    eclipse jadeclipse配置
    Maven使用说明
    crond不执行原因分析
    空调遥控器图标含义
    window7开放端sqlserver端口
    servlet仿struts参数注入
    cocos 2dx-js3.5整合anySDK
  • 原文地址:https://www.cnblogs.com/feng9exe/p/8662526.html
Copyright © 2011-2022 走看看