脚本语言的解释

时间:2015-11-19 07:30:15

标签: interpreter interpreted-language

与编程语言相比,为什么纯解释更适合脚本语言。我的意思是为什么脚本语言程序不会转换为机器语言然后执行。从我所读到的,其中一个原因是速度,因为脚本目的速度不是那么重要,因为解释速度较慢所以对脚本语言无关紧要。是否有更多理由在脚本编写中使用解释?

2 个答案:

答案 0 :(得分:2)

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

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

  • 实施翻译更容易(省力),

  • 解释器更容易移植到多个平台,

  • 编译到本机代码需要时间,这可能会减慢开发周期和/或在JIT编译案例 1 中导致更长的应用程序启动时间。

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

答案 1 :(得分:0)

脚本,特别是交互式脚本(命令shell等)通常只用于运行一次的代码,在这种情况下,延迟比其他任何事情都重要。 JIT在这种情况下不会有任何用处。您希望立即得到REPL的反馈,并且在执行它们之前等待每个命令编译很少是合理的。

因此,一个特殊的解释,或者更好的是,一个非常轻量级的编译(例如,编译到高级VM然后被解释)比适当的重量级编译更受欢迎。