程序翻译与程序解析
因为计算机无法识别我们人类的语言,只能识别这种0100101010这种的二进制语言,所以我们的语言需要我们用高级语言描述出来,然后计算机通过程序翻译或者程序解析,转换为它可识别的语言
程序翻译
即把高级语言翻译为低级语言,通过编译器实现,程序翻译的语言一般有C/C++,Object-C,Golang
程序的解析
即比如我们用较为高级计算机语言来进行我们的程序逻辑描述(这个过程即我们设计程序的过程),比如Pathon,Javascript
,然后我们如果执行这些程序,则计算机中就会有另外一种低级的语言来通过实现另外一个程序即解析器
,来把我们高级的程序语言来转换为较低级的语言,然后由计算机识别。
总结解释
- 计算机执行的指令都是L0
- 翻译过程生成新的L0程序,解释过程不生成新的L0程序
- 解释过程由L0编写的解释器去解释L1程序
计算机的层次与编程语言
按照层次来划分计算机的语言的话,大致可以把计算机划分为这几层次:
最下面三层是实际的机器,上面的是虚拟部分,即我们运行的部分
硬件逻辑层
由门、触发器等逻辑电路组成
且属于电子工程领域
微程序机器层
此层的编程语言是微指令集
微指令构成的微指令集就构成了微程序,微程序则直接交由硬件执行
这部分的语言,硬件部分可直接识别
传统机器层
此层编程语言主要是CPU指令集(机器指令)存储在CPU内部,对CPU进行指导和优化
此层,程序员编写的机器指令可以交由微程序直接识别解析
此层编程语言和硬件直接相关
编程语言和硬件是直接相关
不同架构的CPU使用不同的CPU指令集
三种编程的关系
多个微指令构成微程序,每个微程序即为一个机器指令
操作系统层
向上提供了简易的操作页面
向下对接了指令系统,管理硬件资源
操作系统是在软件和硬件之间的适配层
汇编语言层
编程语言就是汇编语言
汇编语言可以翻译成可直接执行的机器语言
完成翻译的过程的程序就是汇编语言
从此层开始开始使用的编程语言就是人类比较容易理解的编程语言了
比如:
PUSH、DS、AH…
高级语言
即为我们程序员所接受的高级语言,比如JAVA、C/C++、Python…
应用层
都是一些满足计算机针对某种用途而专门设计的
如DOCX文档、XLS表格…
可以理解为面向问题的编程语言