Ruby是脚本语言还是解释语言?
我刚刚注意到在Ruby的wikipedia页面中,这种语言被定义为解释语言。Ruby是脚本语言还是解释语言?,ruby,definition,scripting-language,interpreted-language,compiled-language,Ruby,Definition,Scripting Language,Interpreted Language,Compiled Language,我刚刚注意到在Ruby的wikipedia页面中,这种语言被定义为解释语言。 我知道我的背景中可能缺少一些东西。我一直知道不需要编译器的解释语言和编译语言(需要在程序执行之前编译)之间的区别,但脚本语言的特征是什么? Ruby可以定义为脚本语言吗? 感谢您并原谅我的疏忽术语“脚本语言”非常广泛,它可以包括解释语言和编译语言。尤其是Ruby,可能会根据我们使用的具体实现进行编译或解释——例如,JRuby被编译成字节码,而CRuby(Ruby的参考实现)被解释为是 详细答复: 脚本语言通常用于控制
我知道我的背景中可能缺少一些东西。
我一直知道不需要编译器的解释语言和编译语言(需要在程序执行之前编译)之间的区别,但脚本语言的特征是什么?
Ruby可以定义为脚本语言吗?
感谢您并原谅我的疏忽术语“脚本语言”非常广泛,它可以包括解释语言和编译语言。尤其是Ruby,可能会根据我们使用的具体实现进行编译或解释——例如,JRuby被编译成字节码,而CRuby(Ruby的参考实现)被解释为是 详细答复: 脚本语言通常用于控制通常不使用该语言编写的应用程序。例如,shell脚本等可以调用任意控制台应用程序 Ruby是一种通用的动态语言,经常用于编写脚本 您可以使用反勾符号进行任意系统调用,如下所示
`<system command>`
``
还有许多优秀的Ruby gems,例如和,用于自动化web和本机GUI
有关脚本语言的定义,请参阅。事情不仅仅是黑白的。至少,它们也有大小、响亮和安静、蓝色和橙色、灰色和灰色、长和短、对和错,等等 解释/编译只是对语言进行分类的一种方式,它完全独立于(在无数其他事情中)是否将同一种语言称为“脚本语言”。最重要的是,它也是一个不完整的分类:
- 解释/编译取决于语言的实现,而不是语言(这不仅仅是理论,确实有相当多的语言同时存在解释器和编译器)
- 有些语言实现(很多,包括大多数Ruby实现)是编译器,但“仅”编译成字节码并解释该字节码
- 还有一些实现在解释和编译本机代码之间切换(JIT编译器)
所以是的,我想人们可以称Ruby为脚本语言。当然,这并不意味着RubyonRails web应用程序只是一个脚本。那么Java呢?我想我不能把它定义为脚本语言,是真的吗?为什么?Thanks@Guiseppe:嗯,很少有人使用Java编写脚本,所以一般不会称之为脚本语言。当然,如果某个应用程序确实使用Java编写脚本,那么Java在该上下文中可能确实符合脚本语言的条件。他不想让你教他生活,他只是问了一个关于Ruby的问题…可能是