##### 编程语言
- 编程语言
- **编程语言**是用人工设计的符号系统表示的[[计算机语言]], 它通过更接近人类自然语言的语法和结构, 简化对计算机的控制, 并隐藏底层硬件细节. 每一种编程语言都可以被看作是一套包含语法, 词汇和语义的正式规范, 可以从多个角度进行分类
- 抽象层次
- 低级编程语言有[[汇编语言]], 与硬件相关适合底层开发, 用助记符代替机器码, 需通过汇编器翻译为机器语言
- 高级编程语言有[[编译器|编译型语言]], 通过编译器直接生成机器码, [[解释器|解释型语言]], 通过解释器逐行翻译并执行
- [[类型系统]]
- 静态类型语言, 变量的类型在编译时就被确定下来, 变量的类型必须明确声明, 并且在程序运行期间不能改变
- 动态类型语言, 变量的类型在运行时被确定, 变量的类型可以在程序执行过程中改变
- [[编程范式]]
- 命令式编程, 命令式编程通过改变程序的状态来执行计算, 它强调的是如何去做. 程序的执行是基于语句的顺序执行, 每条语句会对状态进行改变
- 声明式编程, 强调描述做什么, 而不是如何做. 它不依赖显式的状态改变, 而是通过表达式, 规则和约束来描述计算逻辑