什么是Scala未来的平台问题,人们应该做好准备?

soc*_*soc 15 .net java jvm scala llvm

目前,Scala仅在JVM上运行,并且CLR的实现过时.

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

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

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

Esk*_*sko 18

这是关于VM的另一个视图:

如果你看看整个画面并不是Sun最亮的时刻,那么将GPL许可证放在JDK /相关的东西上实际上已经导致了整个JVM平台完全独立于Oracle的这种奇妙情况.我的意思是,虚拟机 Java 无关,垃圾收集器 Java 无关,最重要的是,Java程序员并没有真正依赖 Java和Oracle.

作为一名Java程序员,我想说我们赢了 - 如果甲骨文决定弃用Java世界中的所有东西以获得更大的利润,我们可以抓住VM和Scala这样的现代语言让Larry Ellison在他的游艇上航行到日落我们关心的一切.

  • 他们把BSD打成了东西?我以为是GPL. (3认同)
  • Sssssorry!我一定是出于我的想法.编辑以配合真相. (2认同)

Jes*_*per 10

Scala的当前实现非常关注JVM.Scala库中的大部分依赖于Java标准库中的类,Java类也暴露给用户程序.

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

我同意Randall认为JVM不会很快消失; 它可能是最成功和最广泛的虚拟机平台,部署在数十亿设备上,从智能卡和手持设备到最大的服务器.实际上,Java编程语言可能比JVM本身更早消失.在可预见的未来,没有理由担心JVM的消失.

即使在不太可能发生的情况下 - 它真的重要吗?您仍然可以在其他平台上使用您喜欢的编程语言Scala进行编程.


oll*_*erg 5

Esko说,由于甲骨文管理不善,我不会太担心JVM的死亡.

截至目前,我确实以另一种方式担心JVM:JVM并不是作为多语言平台构建的.在JVM上运行的大多数语言都使用动态类型,并且从编译到字节码的复杂性中解脱出来.

Scala正在编译为字节码,并且由编写Java编译器(1.1-1.4)的人(Odersky)在JVM中构建.Scala是唯一一个对JVM有深入了解的人编写的语言,我们真的不知道他这么做有多难.

我担心JVM最终会受到欢迎,因为它不是一个多语言平台.

  • 他们引入了invokedynamic,因为他们不必考虑它会如何影响Java,他们需要针对.NET及其DLR的营销效果,因为动态语言并不真正对VM中Java的位置构成威胁.在我看来,承诺看起来不同...... (2认同)