Scala未来的平台关注点是什么?人们应该为之做好准备?

2022-09-03 10:02:10

目前,Scala仅在JVM上运行,CLR的实现已经过时。

但目前有一些声音表明,微软有兴趣为.NET提供最新的Scala端口。

考虑到甲骨文方面缺乏任何计划或监督,如何处理Java/JVM/生态系统,Scala开发人员如何做好准备,最终可能没有像样的平台来运行Scala?

有没有计划在将来对 Scala VM 进行一些“独立”的实现,它将 Scala 的功能映射到某个字节码/VM,而不必在当前的 VM 实现中忍受所有这些遗留错误(没有泛型、协变数组、奇怪的注释、没有尾部调用等)?


答案 1

下面是有关 VM 的另一种视图:

虽然如果你从整体上看,这并不是Sun最明亮的时刻,但在JDK /相关事物上打上GPL许可证实际上导致了整个JVM平台完全独立于Oracle的奇妙局面。我的意思是,虚拟机没有绑定到Java,垃圾回收器没有绑定到Java,最重要的是Java程序员并没有真正绑定到Java,因此Oracle。

作为一名Java程序员,我会说我们赢了 - 如果Oracle决定弃用Java世界中的所有内容,希望获得更大的利润,我们可以抓住VM和Scala等现代语言,让Larry Ellison在他的游艇上航行到日落,因为我们所关心的一切。


答案 2

Scala的当前实现非常专注于JVM。Scala库中的很多东西依赖于Java标准库中的类,Java类也暴露给用户程序。

如果在其他平台(如CLR或LLVM)上将有Scala实现,那么为当前面向Java的Scala实现编写的程序将不会自动与这些其他实现兼容(除非这些实现不遗余力地支持Java中可用的类)。

我同意兰德尔的观点,即JVM不会很快消失;它可能是最成功和最广泛的虚拟机平台,部署在数十亿台设备上,从智能卡和手持设备到最大的服务器。事实上,Java编程语言可能比JVM本身消失得更快。没有理由担心JVM在可预见的将来会消失。

即使在不太可能的情况下,它确实如此 - 它真的重要吗?你仍然可以在其他平台上用你最喜欢的编程语言Scala编程。


推荐