编程语言
C
- 可对位,字节,地址直接操作
- 功能齐全:数据类型和控制逻辑多样化(指针)
- 可移植能力强
C++
- 继承
- 多态
- 虚函数
- 权限
lisp:函数式语言代表
屏蔽了指针的概念 -与机器无关
- 代码即数据
- 闭包
JavaScript
- 过程式
- 面向对象
- 函数式
- 响应式 应用范围广
编程范式
什么是编程范式?
- 是否允许副作用
- 操作的执行顺序
- 代码组织
- 状态管理
- 语法和词法
面向过程式编程有什么缺点
- 数据与算法关联弱
- 不利于修改和优化
- 不利于代码重用
面向对象五大原则
- 单一职责原则
- 开放封闭原则
- 里式替换原则
- 依赖倒置原则
- 接口分离原则
缺点
- 连带的东西多。总是附带着所有他需要的隐含环境。
函数式编程优点
- 可缓存
- 可移植
- 可测试
- 可推理
- 可并行
响应式编程
- observable
- 操作符
- monard
领域特定语言
什么是领域特定语言
- HTML
- SQL
_lexer
SQL token分类
- 注释
- 关键字
- 操作符
- 空格
- 字符串
- 变量
_parser_语法规则
- 推导式:表示非终结符 到 (非终结符或终结符)的关系
- 终结符:构成句子的实际内容。可以理解为词法分析中的token
- 非终结符: 符号或变量的有限集合。他们表示在句子种不同类型的短语或子句。 _Parser_LL LL: 从左向右检查,从左到右构建语法树 _Parser_LR LR: 从左向右检查,从右到左构建语法树 _tools
- exp::=exp'+'exp
- exp::=exp'*'exp
- exp::='NUMBER'
总结一下
- 编程范式
-
编程语言
- 机器语言
- 汇编语言
- 中级语言 C
- 高级语言 C++/lisp/javascript
-
编程范式
- 什么是编程式
- 过程式编程
- 面向对象编程
- 函数式编程
- 响应式编程
-
领域特定语言
- 创造dsl
- lexer
- parser
- tools
- visitor
- 创造dsl
-