Scala 路线图:跳过 2.14,明年上 Scala 3
Scala 官方公布了 Scala 2 接下来的发展计划,开发团队表示工作将转向 Scala 3,而不是开发 Scala 2.14。
重点虽然转移到 Scala 3,但将继续维护 Scala 2.13,以确保社区有足够的时间谨慎地过渡到 Scala 3。
长期以来,开发团队认为必须有 2.14 版本才能确保顺利过渡到 3,但是经过大量的研究和讨论,现在确信完全不需要 2.14。这样可以带来两方面的好处:
-
Scala 3 将可以更快地投入生产环境。在完善编译器和升级相关工具方面,有许多工作要做,同时将帮助生态系统升级。
-
无需为 2.14 重建 Scala 库和工具生态系统,从而节省了维护人员的时间以准备 Scala 3。
主要目标是提供从 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 支持等,详情查看官方说明:
低调大师中文资讯倾力打造互联网数据资讯、行业资源、电子商务、移动互联网、网络营销平台。
持续更新报道IT业界、互联网、市场资讯、驱动更新,是最及时权威的产业资讯及硬件资讯报道平台。
转载内容版权归作者及来源网站所有,本站原创内容转载请注明来源。
- 上一篇
俄罗斯成功测试断开互联网
根据 ZDNet 的报导,俄罗斯政府周一宣布,其完成了一系列测试,成功地使该国断开了全球互联网。 测试从上周开始进行了多天,涉及俄罗斯政府机构、本地互联网服务提供商和俄罗斯本地互联网公司,目的是测试俄罗斯的国家互联网基础设施 RuNet 是否可以在不访问全球 DNS 系统和外部互联网的情况下正常运行。 俄罗斯政府在新闻发布会上表示,该实验是成功的,不过其没有透露有关测试及其组成的任何技术细节,只是提到测试了几种断开连接的方案,包括模拟来自国外的敌对网络攻击的方案。现在外部仅知道互联网流量在俄罗斯内部进行了重新路由,有效地使俄罗斯的 RuNet 成为了世界上最大的内部网络。 相关政府官员表示:“事实证明,总的来说,当局和电信运营商都准备好有效应对可能的风险和威胁,并确保俄罗斯的互联网和统一电信网络正常运行。” 此前俄罗斯提出了一项“主权互联网”法案,用以切断对其认为危险的内容的访问。主权互联网法案规定,必须在俄罗斯成千上万个关键的互联网站点安装特殊设备和跟踪软件,这些设备会将数据发送到中央监控机构,该机构具有权力以重新路由流量,可以在国家受到威胁,或者在发生外国网络攻击时将 RuNet ...
- 下一篇
“Apache RocketMQ社区最佳贡献者评选”参选征集中
2019年,Apache RocketMQ开源生态得到了进一步壮大和发展。内核仓库先后发布了三个大版本,新增了消息轨迹、多副本存储、ACL、RPC模式、IPV6等重要特性,孵化了Connect、RocketMQ Operator、Prometheus Exoprter、CPP SDK、Golang SDK等20+的生态项目。同时在北京、上海、广州、深圳、苏州、西安、大连(筹)、长沙(筹)等地先后建立了城市社区,involve更多的开发者和用户,目前RocketMQ在全球有300+的社区贡献者。近期Apache RocketMQ也荣膺2019年中国最受欢迎开源软件。 社区的发展和每一位开源贡献者息息相关。为了表彰社区优秀的贡献者,同时鼓励更多的开源爱好者参与Apache RocketMQ项目,Apache RocketMQ中国社区计划启动优秀贡献者评选活动。本次活动拟对优秀贡献者、优秀布道师、最佳创新项目与最佳应用案例四类贡献者和团队进行奖励。 其中前两类针对个人、后两类针对团队。 此次活动由阿里巴巴、极客时间、叩丁狼、开源中国、开源社、Gitee与掘金社区联合赞助。 奖项设置 优秀贡献...
相关文章
文章评论
共有0条评论来说两句吧...
文章二维码
点击排行
-
Docker使用Oracle官方镜像安装(12C,18C,19C)
- Springboot2将连接池hikari替换为druid,体验最强大的数据库连接池
- CentOS8编译安装MySQL8.0.19
- Docker快速安装Oracle11G,搭建oracle11g学习环境
- SpringBoot2配置默认Tomcat设置,开启更多高级功能
- MySQL8.0.19开启GTID主从同步CentOS8
- CentOS7,8上快速安装Gitea,搭建Git服务器
- Jdk安装(Linux,MacOS,Windows),包含三大操作系统的最全安装
- SpringBoot2编写第一个Controller,响应你的http请求并返回结果
推荐阅读
最新文章
- Springboot2将连接池hikari替换为druid,体验最强大的数据库连接池
- Docker使用Oracle官方镜像安装(12C,18C,19C)
- CentOS6,CentOS7官方镜像安装Oracle11G
- SpringBoot2整合Redis,开启缓存,提高访问速度
- Jdk安装(Linux,MacOS,Windows),包含三大操作系统的最全安装
- SpringBoot2配置默认Tomcat设置,开启更多高级功能
- SpringBoot2整合MyBatis,连接MySql数据库做增删改查操作
- Hadoop3单机部署,实现最简伪集群
- MySQL8.0.19开启GTID主从同步CentOS8
- SpringBoot2编写第一个Controller,响应你的http请求并返回结果