计算机的层次与编程语言
程序翻译与程序解释(解析)
- 人类语言 → 计算机语言:需要进行语言之间的转换
- 程序翻译:
- 使用较为高级的计算机语言L1进行程序逻辑描述,然后L1直接生成较为低级的计算机语言L0(由编译器进行),最后L0被计算机实际执行
- 程序解析:
- 使用较为高级的计算机语言L1进行程序逻辑描述,然后以L1作为输入,使用较为低级的计算机语言L0实现另一个程序(由解释器进行),每一句L1语句都会转换成对应的L0语句被计算机实际执行
- 程序翻译与程序解释区别
- 计算机执行的指令都是L0
- 翻译过程生成新的L0程序,解释过程不生成新的L0程序
- 解释过程由L0编写的解释器去解释L1程序
- 常见的程序翻译语言:C/C++、Object-C、Golang
- 常见的程序解释语言:Python、Php、Javascript
- 常见的翻译+解释语言:Java、C#,例如Java:
- Java程序 →(编译) → JVM字节码 → (解释) → 机器码
计算机的层次与编程语言
- 计算机的层次:
- 硬件逻辑层
- 门、触发器等逻辑电路组成
- 属于电子工程的领域
- 微程序机器层
- 编程语言是微指令集
- 微指令所组成的微程序直接交由硬件执行
- 传统机器层
- 编程语言是CPU指令集(机器指令)
- 编程语言和硬件是直接相关
- 不同架构的CPU使用不同的CPU指令集
- 微指令、微程序和机器指令的关系:
- 一条机器指令对应一个微程序
- 一个微程序对应一组微指令
- 操作系统层
- 向上提供了简易的操作界面
- 向下对接了指令系统,管理硬件资源
- 操作系统层是在软件和硬件之间的适配层
- 汇编语言层
- 编程语言是汇编语言
- 汇编语言可以翻译成可直接执行的机器语言
- 完成翻译的过程的程序就是汇编器
- 高级语言层
- 编程语言为广大程序员所接受的高级语言
- 高级语言的类别非常多,有几百种
- 常见的高级语言有:Python、Java、C/C++、 Golang等
- 应用层
- 满足计算机针对某种用途而专门设计