zoukankan      html  css  js  c++  java
  • 编程范式总结

    命令式编程 Imperative programming
    用命令的方式,一步一步告诉计算机先做什么再做什么。模拟电脑运行过程,通过执行命令改变程序的状态。
    从开发人员的角度来说,就是一个"输入-》函数1-》状态1-》函数2-》状态2-》输出"的过程
    难点在于函数的书写和中间状态的保存。

    声明式编程
    告诉计算机应该做什么,更关注结果,不关心计算机怎么做。
    领域特定语言(Domain Specific Language,DSL),比如SQL,CSS,正则表达式等,开发人员声明需要的结果是什么,由特定语言的内部实现去调用计算机相关指令,得到输出。
    函数式编程(Functional Program,FP)等。
    从开发人员的角度来说,就是一个 "输入-》计算机处理-》输出"的高层次的抽象过程。
    如“select * from tb”,我们只关心我们要的结果,而不用去关系具体实现。


    面向对象编程
    是种具有对象概念的程序编程典范,同时也是一种程序开发的抽象方针。它可能包含数据、属性、代码与方法。对象则指的是类的实例。它将对象作为程序的基本单元,将程序和数据封装其中,以提高软件的重用性、灵活性和扩展性。

    函数式编程
    函数式编程是一种编程范式,它将计算机运算看作是数学中函数的计算,并且避免了状态以及变量的概念。数学上函数的概念相较于编程中函数的概念更为严格。函数没有side effect,no state,函数是一等公民(Higher Order Function)。
    使用者只需要关心输入输出。难点在于monad函数的抽象和书写

  • 相关阅读:
    CAS无锁模式
    Redis 字符串结构和常用命令
    Redis 链表结构 和 常用命令
    Redis hash结构 和常用命令
    Spring + Redis ( 简单使用)
    使用idea 搭建一个 SpringBoot + Mybatis + logback 的maven 项
    Java 208道面试题及部分答案
    面试相关知识点
    使用IDEA 搭建一个SpringBoot + Hibernate + Gradle
    Java相关知识点
  • 原文地址:https://www.cnblogs.com/cnsec/p/13547565.html
Copyright © 2011-2022 走看看