计算机是不能识别高级语言的 当我们在运行一个高级语言的时候,需要一个翻译机来把 高级语言转变为计算机能够读懂的机器语言 有两种实现方式
一种是编译 另一种是解释 。
编译型语言 在程序执行之前,有一个单独的编译过程,将程序翻译成机器语言,以后执行这个程序的时候,就不用再进行翻译了。(c c++)
解释型语言,是在运行的时候将程序翻译成机器语言,所以运行速度相对于编译型语言要慢(Ruby shell)
随着Java等基于虚拟机的语言的兴起,我们又不能把语言纯粹地分成解释型和编译型这两种。
用Java来举例,Java首先是通过编译器编译成字节码文件,然后在运行时通过解释器给解释成机器文件。所以我们说Java是一种先编译后解释的语言。