编程范式
c/c++(中级语言)过程式语言代表
c++面向对象语言代表加入了类、继承和多态
lisp函数式语言代表
JavaScript(基于原型和头等函数的多范式语言)
命令式
面向过程
面向对象
声明式
函数式
响应式
程序语言特性:
是否允许副作用
操作的执行顺序
代码组织
状态管理
语法的词法
编程语言
机器语言
汇编语言
中级语言 ——c
高级语言
c++
lisp
JavaScript
编程范式
编程范式的定义
过程式编程
面向过程问题
数据与算法关联弱
不利于修改和扩充
不利于代码重用
面向对象编程
封装-关联数据和算法
继承-无需重写的情况下进行功能扩充
多态-不同结构可以进行共享接口
依赖注入-去除代码耦合
五大原则
单一职责
开放封闭原则
重式替换
依赖倒置
接口分离
函数式编程
优势:可缓存、可移植、可测试、可推理、可并行
响应式编程
异步、离散的函数式编程
观察者模式
迭代器模式
promise
领域特定语言(创建DSL)
lexer
parser
tools
vistor