编程范式 ProgrammingParadigm
Contents
目录 start
目录 end|2020-04-27 23:42|
编程范式
- Imperative Programming (IP) 命令式编程
- Functional Programming (FP) 函数式编程
- Logic Programming (LP) 逻辑式编程
命令式编程
编写改变状态的一条条命令
函数式编程
- 函数式语言他把计算本身当成最重要的概念。函数式语言和过程式语言一样对值进行操作,但他不会修改输入,而是像数学函数一样返回新值
- 函数被看成是一个小处理机,输入值并输出值,他们没有自己的状态,并且将他们和任何外部状态绑定在一起也没有意义
Groovy带一点函数式风格,Scala对FP的利用更为充分,Clojure是纯粹的函数式语言,没有丁点儿面向对象特性
命令式和函数式
- Java是典型的命令式语言,命令式语言把程序的运行状态建模为可修改的数据,用一系列的指令来改变状态。因此在命令式语言中,程序状态是核心概念
- 命令式语言主要分为两类,一种是面向过程语言,一种是面向对象语言
- 面向过程:Basic Fortran 这种语言将代码和数据完全分离开,有简单的代码操作数据范式
- 面向对象:数据和代码(方法形式)封装在对象中,面向对象语言中或多或少会存在元数据(比如:类信息)引入的额外结构
响应式编程
组合异步的序列 设计模式是 观察者模式的扩展, 数据结构是序列串流, 避免了并发, 是非阻塞的,常见于UI层
数据流驱动
异步 非阻塞 不是同步非阻塞 (当时不阻塞后续回调) 而是异步
多路复用
逻辑式编程
Author Kuangcp
LastMod 2019-10-19