脚本语言的解释



为什么与编程语言相比,脚本语言更喜欢纯解释。我的意思是为什么脚本语言程序并没有转换成机器语言然后执行。根据我所读到的内容,其中一个原因是速度,出于脚本目的,速度并不那么重要,因为解释速度较慢,所以对脚本语言来说无关紧要。在脚本编写中使用解释还有更多的理由吗?

您的一些假设是不正确的。

然而,选择解释而不是编译(对机器代码)的正常原因是:

  • 实现一个解释器更容易(工作量更小)

  • 口译员更容易移植到多个平台,

  • 编译到本机代码需要时间,这可能会减慢开发周期和/或导致JIT编译情况下应用程序启动时间过长1


1-后者很复杂,很难进行公正的比较。另一方面,缓慢启动后,JIT编译的程序运行得比解释的代码快得多,可能比静态编译的代码快

脚本,尤其是交互式脚本(命令shell等),通常用于只运行一次的代码,在这种情况下,延迟比其他任何事情都重要。JIT在这种情况下没有任何用处。您会期望REPL立即给出反馈,而在执行命令之前等待每个命令编译是不合理的。

因此,与适当的重量级编译相比,特别的解释或者更好的是,非常轻量级的编译(例如,编译到高级VM,然后对其进行解释)更可取。

相关内容

  • 没有找到相关文章

最新更新