发展历程
机器语言 → 汇编语言 → 高级语言
- 机器语言:二进制指令,直接由硬件执行,效率高但可读性差
- 汇编语言:使用助记符代替二进制,需经汇编器转换为机器码
- 高级语言:接近自然语言和数学表示,需经编译器或解释器转换为机器码
语言分类
命令式 vs 声明式
- 命令式:描述 ” 如何做 “,以语句序列改变程序状态 重点
- 过程式:C、Pascal
- 面向对象:Java、C++
- 声明式:描述 ” 做什么 “,不显式指定控制流 重点
- 函数式:Haskell、Lisp
- 逻辑式:Prolog
静态类型 vs 动态类型
- 静态类型:编译时确定变量类型,如 C、Java、Go 重点
- 动态类型:运行时确定变量类型,如 Python、JavaScript
强类型 vs 弱类型
- 强类型:类型严格,禁止隐式类型转换,如 Java、Python 重点
- 弱类型:类型宽松,允许隐式类型转换,如 C、JavaScript