任何编程语言编写的程序归根到底都是由底层的机器代码(01序列)执行的,无论是编译型语言还是解释型语言。而任何高级编程语言程序的源代码都是一个个字符序列,这个字符序列到底层的01序列是通过编译器或解释器经过多次转换完成的。
1.机器代码是机器最终实际执行的01序列。
2.汇编语言是描述本地机器的指令集体系结构,汇编语言编译成机器语言。
3.高级语言包含相对应的数据结构和语法结构,更接近人类的语言习惯。高级语言经过编译或解释转化为机器代码。
计算机编程语言实现结构
1.编译型语言被编译成机器代码,比如C、C++。
2.解释型语言是通过解释器执行,比如javascript、shell、python等。
3.虚拟机语言运行在虚拟机上,需要被编译成虚拟机代码,由虚拟机知行,比如java。虽然python也有自己的虚拟机,但不需要编译,所以把它归类为解释型语言。
从机器语言->汇编语言->系统语言(C和C++)->解释性语言(python)和虚拟机(java),抽象层次越高,越贴近于人的思维,不需要考虑那么多细节,同时,程序员的自由度和程序的运行速度越来越低。 从低到高:
1.在底层,汇编语言会经过汇编器转换为机器代码。
2.在C和C++系统编程语言这一层,会通过编译器完成语言元素到汇编语言的映射。
3.解释型语言(python)通过解释器实现向底层语言的映射。python虚拟机是由C语言编写的,所以python程序会转化为C程序而而执行。虚拟机语言(java)会被编译成虚拟机本地的机器代码,然后再虚拟机上执行。而虚拟机是模拟一个指令集的程序,所以它自身有一套独立于具体硬件、操作系统的指令集。需要通过底层语言实现这套指令集。