Scala 官方公布了 Scala 2 接下来的发展计划,开发团队表示工作将转向 Scala 3,而不是开发 Scala 2.14。
重点虽然转移到 Scala 3,但将继续维护 Scala 2.13,以确保社区有足够的时间谨慎地过渡到 Scala 3。
长期以来,开发团队认为必须有 2.14 版本才能确保顺利过渡到 3,但是经过大量的研究和讨论,现在确信完全不需要 2.14。这样可以带来两方面的好处:
主要目标是提供从 Scala 2 到 3 的平滑且增量的迁移路径,要实现此目的,Scala 2.13 和 3.0 将使用相同的标准库,并且它们的编译器后端将以相同的方式输出字节码。
共享标准库
共享标准库消除了 Scala 2.13 和 3 之间的主要潜在差异,并有助于迁移。
但是,这也意味着对标准库的二进制不兼容更改将不得不等到 Scala 3.x 系列中的稍后版本,届时将拥有补救二进制不兼容的工具。更具体地说,由于 Scala 2.13 在其系列之内保持向前和向后二进制兼容,因此无法添加或删除任何类或方法。
如果在从 2 到 3 的迁移期间,迫切需要在这些限制之外发展标准库,开发团队可能最终仍会选择发布 Scala 2.14 版本。
共享的 ABI
除了标准库,通过共享 ABI,Scala 3.0 和 2.13 工件可以共同存于类路径上并且可以无缝地互操作,这样可以逐步迁移并简化测试。
目前 Scala 3 已经向后兼容,它可以使用由 Scala 2.13 构建的库。为了实现向前兼容,Scala 3 编译器将提供一种机制来确保公共接口位于公共语言子集中,以便可以在?Scala 2.13 中使用它。这意味着作为库作者的开发者可以直接使用某些 Scala 3 内容,而无需从 Scala 2.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 路线图:跳过 2.14,明年上 Scala 3
本文原地址:https://www.oschina.net/news/112322/road-to-scala-3
在新冠肺炎疫情防控关键时期,一些不法分子将病毒、木马伪装成带有“肺炎病例”...
TOP云 (west.cn)9月5日消息,说起 域名 销售,全球域名圈最擅长“小投入大产出...
云服务器 有多少ip地址?一般我们在购买 云服务器 时,服务器提供商会为每一台机...
大家好,我是卡颂。 最近刷推时,有个老哥经常出现在 前端框架 相关推文下。 我...
新一期的sedo 域名交易 榜今天出炉,共有86个 域名 超2000美元成交。其中,三字...
今天的内容是关于如何操作document对象。 1.操作Document Metadata 首先我们来看...
如何在 虚拟主机 上 建网站 ?要通过虚拟主机建网站,我们首先需要准备好建网站...
相信不少做网站的用户会有这样一个问题,Chrome默认最小字体是12px(最新版英文...
icu域名 怎样实名认证? .icu域名 在【 域名注册 】时,填写完 域名 注册信息后...
戴尔星球迎来“ RING ”。 戴尔公司将利用自家服务器、存储硬件以及网络产品交付...