语言分类
按用途分类
-
数据描述语言
JSON、XML、SQL、CSS 等 -
编程语言
Python、JavaScript、Java、C、C++、Ruby、PHP 等
按形式分类
-
声明式语言
SQL、Prolog、XSLT、HTML、CSS 等 -
命令式语言
C、C++、Java、Python、JavaScript、Ruby、PHP、Swift、Go 等
图灵完备性
-
命令式语言 —— 基于图灵机模型
特征:支持goto
、if
和while
等控制流语句 -
声明式语言 —— 基于 λ 演算
特征:强调递归和函数式计算
动态与静态
特性 | 动态类型 | 静态类型 |
---|---|---|
运行阶段 | 在用户设备或服务器产品运行时(runtime) | 在程序员设备产品开发时(compile-time) |
类型检查位置 | 运行时 | 编译时 |
类型系统
-
动态类型系统与静态类型系统
区别在于类型信息保留的位置:运行时 vs 编译时 -
强类型与弱类型
关注语言中类型转换的严格程度和规则 -
结构类型系统(符合类型)
例如结构体和函数签名中的参数/返回值匹配 -
子类型(如 C++ 中)
支持继承与多态 -
泛型
提供类型参数化,提高代码复用性