您好,匿名用户
随意问技术百科期待您的加入

关于Scala虚拟机的一些疑问

0 投票

我最近一直在学习scala这种被成为下一代java的语言,应该说它的一些特性挺吸引人的。但我最近注意到Eclipse推出了一个叫做Xtend的语言,在新闻中提到

Eclipse Xtend可以编译成可读的Java代码,类似CoffeeScript之与Javascript。

什么意思?就是把一种语法替换成另一种而已,其机理有点像我们使用的模版引擎,模版语言最终会被替换成目标语言执行。那么scala呢?似乎高级一点,它是直接编译成java class的(或者.net平台的CLR代码)。

但很重要的一点是它本身没有虚拟机实现或者更加底层的支持。那么我想问的是

  1. Scala没有自己的虚拟机到底有没有问题,这是否会影响它作为一种语言的独立性和执行效率
  2. java虚拟机,以及CLR虚拟机跟其它的虚拟机有什么区别。因为我发现在这两个虚拟机上有很多其它语言的实现,比如JRuby, JPython, IronPython等等。但是像ruby, python这种语言又都有自己的虚拟机,但没听说在它们的虚拟机上又衍生出什么语言的。
用户头像 提问 2012年 12月1日 @ Kassadin 上等兵 (255 威望)
分享到:

1个回答

0 投票

1.scala编译器是把.scala编译成bytecode运行在jvm上,因此受限于jvm,当然对scala有极大的影响。从我个人观点来看scala更像是java语言上的一种更高层的封装,例如scala的covariance和contravariance。
2.jRuby这些是希望在ruby的灵活性上能够使用java各种类库,且经过编译之后能获得性能上的提高,ruby做dsl是很方便的。

用户头像 回复 2012年 12月1日 @ Leo 上等兵 (255 威望)
提一个问题:

相关问题

0 投票
1 回复 24 阅读
用户头像 提问 2013年 12月29日 @ Blitzcrank 上等兵 (358 威望)
0 投票
1 回复 36 阅读
0 投票
1 回复 31 阅读
0 投票
1 回复 22 阅读
用户头像 提问 2014年 1月2日 @ Leona 上等兵 (279 威望)
0 投票
1 回复 27 阅读
用户头像 提问 2013年 11月14日 @ Pikachu 上等兵 (475 威望)

欢迎来到随意问技术百科, 这是一个面向专业开发者的IT问答网站,提供途径助开发者查找IT技术方案,解决程序bug和网站运维难题等。
温馨提示:本网站禁止用户发布与IT技术无关的、粗浅的、毫无意义的或者违法国家法规的等不合理内容,谢谢支持。

欢迎访问随意问技术百科,为了给您提供更好的服务,请及时反馈您的意见。
...