博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
回顾Swift 3,展望Swift 4
阅读量:5897 次
发布时间:2019-06-19

本文共 1322 字,大约阅读时间需要 4 分钟。

在Swift 3 版本临近发布之际,苹果公司开发者工具部门高级总监Chris Lattner发给“Swift-evolution”邮件列表一篇。文中对Swift 3的开发过程进行了回顾,并给出了对Swift 4的期望。

\\

在对Swift 3的回顾中,Lattner主要侧重于说明开源软件开发的成效及所存在的缺点。他特别指出,相对于“封闭式设计”而言,“开放式设计”速度慢且更难预测,但是最终结果却是“显著地改善”了。对于开发而言,使开发社区专注于有限数量的主题上,以及使核心团队参与到最前线的关系讨论中,这两者是至关重要的。此外,Lattner还指出,在开发中具备明确的目标将有助于工作重点的确定,并可避免出现在设计范围之外完成的子项目。

\\

基于上述观点,Lattner阐明了Swift 4所将具有的两个首要设计目标,即“自3.0版本起,交付具有源码稳定性承诺的版本,以及为标准库提供ABI稳定性”。鉴于此,可预见核心团队直到2017年春都将忙碌于第一阶段。该阶段的工作主要是针对影响现有ABI或者是导致现有标准库特性发生重要改变的特性。下面列出了核心团队在第一阶段中将优先实现的一些特性:

\\
  • 源码稳定性,例如编译器选项-std=swift3,使用该选项可有条件地启用更多的目前正在开发但尚不稳定的功能; \\
  • 适应性,提供在不影响ABI稳定性的前提下使公用API持续演进的方法; \\
  • 标准库所需的通用改进,例如:、,以及其它的一些改进; \\
  • 对字符串的重评估,目的在于改进Swift的字符串编程模型,使得该模型做到与Perl字符串处理一样的好。 \\
  • 内存所有权模型(可选项)。该模型受或的内存所有权模型启发,目的在于实现性能的可预测性和确定性。更多细节可参考。\

一旦第一阶段的进展达到顶峰,第二阶段将根据所剩余的时间对新特性进行界定和规划。在第二阶段中会考虑以下特性:

\\
  • 反射,包括一个面向用户的、用于数据和方法反射的API; \\
  • 一流的并发,包括:actor、同步/等待、原子性、内存模型及其它一些相关主题。不幸的是,据拉特纳所说,在Swift 4版本中将无法按时实现这个新的并发模型; \\
  • 更多的通用改进。但正如中所述,这些改进并非是ABI稳定性所特需的; \\
  • .swiftmodule稳定性,以便于被第三方的二进制框架所使用; \\
  • 新的脚本语言特性,例如:正则表达式、多行文字的字符串等; \\
  • ,目的是在语言内核之外,提供一种定义lazy、observers、synchronization等属性行为的灵活模型。\

Lattner最后指出,还有许多在第二阶段中需要考虑的特性,例如:子模块、数值类型间的隐式类型提升、C++ API的引入、健康宏系统、尾部调用约定、支持枚举类型、“throws”类型化、用户自定义属性、抽象方法或类、更好的SIMD支持、数据并行支持、高级类类型等。

\\

核心团队预期在2017年秋季能发布Swift 4。

\\

查看英文原文:

\\

感谢对本文的审校。

\

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

转载地址:http://upasx.baihongyu.com/

你可能感兴趣的文章
【BZOJ】1639: [Usaco2007 Mar]Monthly Expense 月度开支(二分)
查看>>
怎样提高团队管理能力3
查看>>
网站流量分析指标-PV/UV/PR/IP
查看>>
linux mount挂载设备(u盘,光盘,iso等 )使用说明
查看>>
ASP.NET MVC3 学习心得------路由机制
查看>>
SSL连接建立过程分析(1)
查看>>
Android开发之Handler和Looper的关系
查看>>
asp.net http请求图
查看>>
Javascript中new Date的坑
查看>>
用JSP实现的商城购物车模块
查看>>
C++ Primer Plus第6版18个重点笔记
查看>>
百度地图 孪生姐妹地图
查看>>
电子技术·笔记6(2013-05\06)
查看>>
进制间的相互转化
查看>>
SQL server 性能调优
查看>>
android开发 更新升级安装到一半自动闪退
查看>>
Linux安装telnet
查看>>
linux 标准I/O (二)
查看>>
量子纠缠
查看>>
[翻译svg教程]svg 中的g元素
查看>>