展会信息港展会大全

Swift 3将不包含稳定的ABI
来源:互联网   发布日期:2016-05-26   浏览:238次  

导读:英文原文:Swift 3 Will Not Have a Stable ABI 近日,苹果公司 Swift 语言创始人 Chris Lattner,在 Swift 官方邮件组服务上声明,Swift 3 原计划的目标之一 ABI 的稳定性,将会推迟发布。 Lattner 的原话: 刚开始的时候我们不适宜发布这些远 ......

英文原文:Swift 3 Will Not Have a Stable ABI

近日,苹果公司 Swift 语言创始人 Chris Lattner,在 Swift 官方邮件组服务上声明,Swift 3 原计划的目标之一 ABI 的稳定性,将会推迟发布。

Lattner 的原话:

刚开始的时候我们不适宜发布这些远大的目标 包括一些重要的为了锁定标准库 ABI 的泛型功能。

因此,Swift Evolution Git 仓库的 ReadMe 文件中已经去掉了 ABI 的稳定性。

由于原来的 ReadMe 文件中有相关说明,ABI 的稳定性将允许将来 Swift 版本开发的应用程序和编译库可以在二进制层次上与 Swift 3.0 版本的应用程序和编译库相互调用。这样,ABI 的稳定性将保证一定程度的二进制兼容性,即使源语言发生了变化,并且第三方更容易发布二进制库。另外,ABI 的稳定性将允许删除需要的 Swift 标准库和二进制文件,就像目前情况下通过 Xcode 创建的 iOS 和 OS X 应用程序一样。

Lattner 还解释说,大约会在 2016 年 8 月份左右开始这一特性的讨论并且会讨论什么时候把它纳入 Swift 语言中。目前尚不清楚 ABI 的稳定性是否会纳入 Swift 3.1 或 4.0版本,但是 Lattner 期望它是一个优先级最高的功能。

Lattner 的声明引起了一些不满, 主要是关于 Swift 3 原计划的大多数目标是如何被取消的。其他的一些评论强调,Swift 刚开源的时候是如何定义 Swift 3 的初始范围的,是否是社区的提议驱使 Swift 在 ABI 稳定之前专注于更需要明确的其它方面的开发,苹果工程师 Greg Parker 回复说,ABI 一旦定义了,就很难去改变,就如 OS X 和 iOS 的历史架构转换演示一样。特别地,他提到,Objective C ABI 在极少数情况下存在的有意或无意的缺陷主要是由于时间的压力,如用 BOOL 代替正确的布尔字符,或者由于使用传统的 GCC 而使用 setjmp-longjmp 异常处理机制而不是 零成本 异常处理,等等。所有的一切,他总结:

如果我们在 Swift 3 就试图冲破 ABI 稳定性的大门,我们肯定会以有意或无意的缺陷而结束[ ]。能够花时间去做正确的事情是弥足珍贵的。

赞助本站

人工智能实验室

相关热词:

相关内容
AiLab云推荐
展开

热门栏目HotCates

Copyright © 2010-2024 AiLab Team. 人工智能实验室 版权所有    关于我们 | 联系我们 | 广告服务 | 公司动态 | 免责声明 | 隐私条款 | 工作机会 | 展会港