编程范式
机器语言 汇编语言 高级语言: c/c++
Lisp
javaScript
总结
什么是编程范式 命令式 面向过程 面向对象
声明式 函数式 响应式
自顶向下 结构式编程
面向过程问题 数据与算法关联弱 程序不利于修改和扩充 不利于代码重用
面向对象编程 封装 继承 多态 依赖注入
五大原则 单一职责原则 开放式封闭原则 里式替换原则 依赖倒闭原则 接口分离原则
函数式编程
纯函数
函数编程currying特性
函数组合
函数式编程functor 可以当做容器的类型,类型支持对容器内元素进行操作
函数式编程monad 去嵌套容器的容器类型
函数式编程 applicative 直接对两个容器直接操作
响应式编程
响应式编程 observable
观察者模式 迭代器模式 promsie/eventTarget
响应式编程 操作符
响应式编程 monad 去除嵌套的 observable
总结
领域特定语言
由通用语言实现,却不能实现通用语言
语言运行
lexer SQL Token分类 注释 关键字 操作符 空格 字符串 变量
parser 语法分析
parser LR
总结
附录