当前位置:企业应用软件行业动态 → 正文

Swift 3 将不包含稳定的ABI

责任编辑:editor005 作者:Sergio De Simone |来源:企业网D1Net  2016-05-26 15:34:24 本文摘自:INFOQ

近日,苹果公司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稳定性的大门,我们肯定会以有意或无意的缺陷而结束[…]。能够花时间去做正确的事情是弥足珍贵的。

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

关键字:SwiftABIXcode

本文摘自:INFOQ

x Swift 3 将不包含稳定的ABI 扫一扫
分享本文到朋友圈
当前位置:企业应用软件行业动态 → 正文

Swift 3 将不包含稳定的ABI

责任编辑:editor005 作者:Sergio De Simone |来源:企业网D1Net  2016-05-26 15:34:24 本文摘自:INFOQ

近日,苹果公司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稳定性的大门,我们肯定会以有意或无意的缺陷而结束[…]。能够花时间去做正确的事情是弥足珍贵的。

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

关键字:SwiftABIXcode

本文摘自:INFOQ

电子周刊
回到顶部

关于我们联系我们版权声明隐私条款广告服务友情链接投稿中心招贤纳士

企业网版权所有 ©2010-2024 京ICP备09108050号-6 京公网安备 11010502049343号

^