目前,Scala只在JVM上运行,CLR的实现已经过时。
但目前有一些声音称,微软有兴趣为.NET提供一个最新的Scala端口。
考虑到Oracle方面缺乏任何计划或监督如何处理Java/JVM/生态系统,Scala开发人员如何做好准备,最终可能没有合适的平台来运行Scala?
有没有计划在未来有一些Scala VM的“独立”实现,它将Scala的功能映射到一些字节码/ VM,而不是不得不忍受当前VM实现中的所有这些遗留错误(没有泛型、协变数组、奇怪的注释、没有尾部调用等)?
发布于 2010-07-09 02:08:29
下面是关于VM的另一个视图:
纵观全局,虽然不是Sun最辉煌的时刻,但在JDK/相关事物上施加GPL许可实际上已经造成了整个JVM平台完全独立于Oracle的奇妙局面。我的意思是,虚拟机没有绑定到Java,垃圾收集器也没有绑定到Java,最重要的是Java程序员并没有真正将绑定到Java,从而也就是甲骨文。
作为一名Java程序员,我想说我们赢了--如果Oracle决定抛弃Java世界中的一切,希望获得更大的利润,我们可以抓住VM和Scala等现代语言,让Larry Ellison乘坐他的游艇驶向日落。
发布于 2010-07-09 02:02:59
Scala的当前实现非常关注JVM。Scala库中的大部分依赖于Java标准库中的类,并且Java类也向用户程序公开。
如果要在CLR或LLVM等其他平台上实现Scala,那么为当前面向Java的Scala实现编写的程序将不会自动与其他实现兼容(除非这些实现竭尽全力支持Java中可用的类)。
我同意Randall的观点,即JVM不会很快消失;它可能是部署在数十亿设备上的最成功和最广泛的虚拟机平台,从智能卡和手持设备到最大的服务器。事实上,Java编程语言可能比JVM本身消失得更快。在可预见的未来,没有理由担心JVM的消失。
即使在不太可能的情况下,它确实如此-它真的重要吗?您仍然可以在其他平台上使用您最喜欢的编程语言Scala进行编程。
发布于 2010-07-09 05:41:42
正如Esko所说,我不会太担心由于Oracle管理不善而导致的JVM的死亡。
到目前为止,我确实以另一种方式担心JVM : JVM不是作为多语言平台构建的。在JVM上运行的大多数语言都使用动态类型,并且在某种程度上摆脱了编译为字节码的复杂性。
Scala正在编译为字节码,并且是由编写Java编译器(1.1-1.4)的人(Odersky)根据JVM构建的。Scala是唯一一种由对JVM有深入了解的人编写的语言,我们不知道他做这件事有多难。
我担心,由于JVM不是一个多语言平台,它的受欢迎程度最终会下降。
https://stackoverflow.com/questions/3205676
复制相似问题