我们经常看到某些文章中会讲到XXX(ex. JS)语言本质上是一个解释性语言
。那么到底什么是解释性语言呢?
这个要从机器语言
说起。
因为计算机只能理解机器语言,也就是说任何其它语言都得翻译成机器语言才能被计算机识别。这里的翻译
有两种实现方式:编译
和 解释
。
编译
当以编译的方式实现的时候,该过程使用到的工具我们又称之为编译器
。在执行代码时,执行的都是编译过的代码,效率较高。
解释
当以解释的方式实现的时候,同样的,该过程使用到的工具我们又称之为解释器
。看似少了编译的步骤,但是在代码执行的时候会边解释边执行,很大程度上影响了执行效率。
比较
虽然前者从执行速度上说更胜一筹,但是如果程序对速度要求不高,而且对兼容性有一定的要求的话,则通常会选择使用解释性语言。
[更新]
现在用这个方式来分类语言已经显得有些力不从心,比如像JAVA。
在编译阶段,代码会被编译成字节码,在运行的时候交给jvm解释执行。