Scala是一门现代的多范式编程语言,志在以简练、优雅及类型安全的方式来表达常用编程模式。Scala官方公布了Scala2接下来的发展计划,开发团队表示工作将转向Scala3,而不是开发Scala2.14。重点虽然转移到Scala3,但将继续维护Scala2.13,以确保社区有足够的时间谨慎地过渡到Scala3。
长期以来,开发团队认为必须有2.14版本才能确保顺利过渡到3,但是经过大量的研究和讨论,现在确信完全不需要2.14。这样可以带来两方面的好处:Scala3将可以更快地投入生产环境。在完善编译器和升级相关工具方面,有许多工作要做,同时将帮助生态系统升级。
无需为2.14重建Scala库和工具生态系统,从而节省了维护人员的时间以准备Scala3。主要目标是提供从Scala2到3的平滑且增量的迁移路径,要实现此目的,Scala2.13和3.0将使用相同的标准库,并且它们的编译器后端将以相同的方式输出字节码。共享标准库共享标准库消除了Scala2.13和3之间的主要潜在差异,并有助于迁移。
但是,这也意味着对标准库的二进制不兼容更改将不得不等到Scala3.x系列中的稍后版本,届时将拥有补救二进制不兼容的工具。更具体地说,由于Scala2.13在其系列之内保持向前和向后二进制兼容,因此无法添加或删除任何类或方法。如果在从2到3的迁移期间,迫切需要在这些限制之外发展标准库,开发团队可能最终仍会选择发布Scala2.14版本。
共享的ABI除了标准库,通过共享ABI,Scala3.0和2.13工件可以共同存于类路径上并且可以无缝地互操作,这样可以逐步迁移并简化测试。目前Scala3已经向后兼容,它可以使用由Scala2.13构建的库。
为了实现向前兼容,Scala3编译器将提供一种机制来确保公共接口位于公共语言子集中,以便可以在Scala2.13中使用它。这意味着作为库作者的开发者可以直接使用某些Scala3内容,而无需从Scala2.13升级。除了技术互操作性之外,开发团队还将关注于测试和改进工具,以确保顺利迁移。例如,原定于2.14版本中进行的迁移警告将在2.13中实施。
除此之外,Scala官方还罗列了一些相关问题,包括争取在2020年年底之前发布第一个候选版本、如何采用类型化抽象语法树TASTy处理二进制兼容性问题、宏无法从2.x直接迁移到3.0、以及性能、测试工具与IDE支持等,详情查看官方说明:https://www.scala-lang.org/2019/12/18/road-to-scala-3.html。
本文关键词:大,阳城,娱乐,集团,多,范式,大阳城娱乐集团,编程语言,Scala
本文来源:大阳城娱乐集团-www.janellenucum.com