写点什么

Swift 4 进入最后阶段,ABI 稳定性被推迟

  • 2017-02-28
  • 本文字数:1014 字

    阅读完需:约 3 分钟

Apple 公司透露了Swift 4 的发布进程,Swift 4 将会在2017 年4 月发布。此次发布的焦点在于Swift 4 提供了对于核心语言和标准库的重大改进,同时也实现了对之前源代码的兼容性。Ted Kremenek 是Apple 公司Swift 团队的新负责人,他取代的是曾经的项目负责人Chris Lattner,他解释说,ABI(应用程序二进制接口)兼容性的实现一开始是在设计准则之中的,现如今将要推迟发布。

Swift 4 做了许多重大改变,因此 Swift 4 与 Swift 3 并没有十分良好的代码兼容性。然而,Swift 语言一经推出,它的编译器就支持兼容性模式,使用-swift-version-3编译选项就能编译大多数 Swift 3 的源码,在 Swift 4 中还修复了错误代码也能在旧编译器中编译通过的漏洞。-swift-version-4编译选项将会支持所有在 Swift 4 设计准则中提到的新特性。重要的是,Swift 的编译器将会在刚刚提到的编译选项中支持以下特性,它能够将框架和已经编译好的模块链接在一起,只要它们是使用同样的编译器选项编译出来的。

Kremenek 还提到,在相关原理被改正之前,Swift 推迟了对ABI 稳定性问题的解决,这样做能够避免ABI 不稳定的风险。

Swift 的创始人 Chris Lattner 是这样评论 Kremenek 的声明的:

看到了之前提出的年计划,我就认为这是一个很务实的决定。ABI 的稳定性对于 Apple 公司比对于大多数的开发者来说更重要,因此我很高兴看到你把社区的需求(改进编译时间、编译器稳定性等等)放到了第一位,对于 Swift 来说,保证长久成功的关键就是去做正确的事情。

推迟了改进 ABI 稳定性的目标并不意味着这项工作就此停止,Lattner 希望能够将 ABI 稳定性在 Swift 5 的早期开发阶段列入计划。Kremenek 将会尽快发布一个关于改进 ABI 稳定性的报表,上边会显示所有有关 ABI 稳定性的未完成任务以及当前的任务状态。

进入第二阶段的变更更有可能被纳入到发布版本里。例如,任何新的语法规则或 API 无疑要比当前的好,任何影响源代码兼容性的改进必须要对现有代码提供迁移方案等等。直到软件发布经理创建了最终的代码分支,所有的开发内容才会出现在master代码主分支中,预计这项工作将于 2017 年初夏完成。从那时起,只有特定的修复内容会加入到最终的发布版本中。

查看英文原文: Swift 4 Enters Final Stage, Defers ABI Stability


感谢薛命灯对本文的审校。

给InfoQ 中文站投稿或者参与内容翻译工作,请邮件至 editors@cn.infoq.com 。也欢迎大家通过新浪微博( @InfoQ @丁晓昀),微信(微信号: InfoQChina )关注我们。

2017-02-28 18:004552

评论

发布
暂无评论
发现更多内容

阿里云代码托管平台,不限容量,免费使用

阿里云云效

云计算 阿里云 代码管理 代码托管 阿里云代码托管

TASKCTL 连接不到服务器的4种情况

TASKCTL

分布式 调度引擎 ETL 自动化运维 调度任务

火遍全网的MBTI人格测试,为什么会有那么多人相信?

小炮

MBTI

高效进行接口测试,简单易懂!

Liam

测试 Jmeter Postman swagger 测试工具

LSM-Tree - LevelDb了解和实现

懒时小窝

LSM树 LSM-Tree

HLP分词后的文本如何在web端高亮显示

lo

前端 4月月更

博云 BeyondCMP 云管理平台 5.6 版本发布

BoCloud博云

云管理平台

TASKCTL 变量的函数表达式运算

TASKCTL

批量任务 调度引擎 ETL 自动化运维 调度任务

【数据安全与流通专题】星环科技春季新品发布周

星环科技

Serverless 让我们的运维更轻松

领创集团Advance Intelligence Group

#Serverless

什么是代码加密?基于云效 Codeup的代码仓库加密是如何实现的

阿里云云效

云计算 阿里云 代码管理 Codeup 代码加密

【愚公系列】2022年04月 二十三种设计模式(零)-简单工厂模式(Simple Factory Pattern)

愚公搬代码

4月月更

物联网低代码平台常用《组件介绍》

AIRIOT

开发 物联网 平台搭建、

TDesign 更新周报(2022 年 4 月第 3 周)

TDesign

MySQL事务并发带来的问题以及其解决方案分析

乌龟哥哥

4月月更

2022年中国茶饮产业洞察

易观分析

茶饮 产业洞察

豆瓣评分9.0,时隔6年,“Linux命令行圣经”新版终于来了!

图灵教育

Linux shell脚本编程

书单 | “阿里云数字新基建”系列丛书全家福来啦!

博文视点Broadview

Android C/C++层hook和java层hook原理以及比较

云智慧AIOps社区

Java android 开发技能 hook

图数据库|正反向边的最终一致性——TOSS 介绍

NebulaGraph

图数据库 知识图谱

用css制作旋转的立方体

云智慧AIOps社区

CSS 前端 大前端 3D css特效

国产化云平台如何实现多云管控,黄河云来“打样儿”

BoCloud博云

国产化 云管理平台

移动端日历组件设计与实现

CRMEB

Swift 4进入最后阶段,ABI稳定性被推迟_移动_Sergio De Simone_InfoQ精选文章