编译是把源程序的代码(源程序)编译成机器语言(目标程序),并保存成二进制文件,这样计算机可以直接根据二进制文件执行,速度很快,但编译器编写较复杂,生成的文件会占用外存空间。
解释则是只在执行程序时,将源程序一行一行地解析成目标程序以便给计算机执行,运行速度不如编译后运行快,但占空间较小。
使用编译的语言举例:
C语言、C++、Pascal、Golang
它们都是将程序编译为exe可执行文件,提供给计算机直接执行。
使用解释的语言举例:
JavaScript、Python、Ruby
都是在运行时用解释器解释每一行代码为机器语言执行。
二者均使用的语言:Java
Java通过编译生成字节码,运行时通过解释来将字节码翻译成目标语言执行,即编译又解释。