作者:Erica Sadun,原文链接,原文日期:2016-06-09
译者:天才175;校对:shanks;定稿:千叶知风
亲爱的埃丽卡:“对于还没追随最新进展的人来讲,你认为 Swift 3 将会有哪些最重大或最出色的改变?说实话,我有点失望。相对于 Swift 1 到 2 的改变(aka 协议扩展),给我的感觉就像是虽然有重大的改变,但不是那种能改变你如何设计一个程序的”
我不能肯定地说“没有新的范式转变”是一件坏事。作为一种语言,Swift 显然知道它是怎样的。它还没有达到完全成熟(不完整泛型就能很好地说明这门语言还需要在烤箱里多待一会儿),但是已经确定了是什么样。清晰的 Swift 理念正在推动着进展。
Swift 历史
Swift 历史是这样的:
Swift 1 确定了基线:类型安全的,迅速的,现代的。它展现了 Swift 的可能性。我们有了可选,智能的值类型,以及很多受欢迎的重大特性。这使得很多 Objective-C 程序员站起来说道“噢,看那个,有值得研究的东西。”
Swift 2 使它革命性地成为面向协议编程的语言,拥有像是重新设计的错误处理等很多很酷的特性。它展现了 Swift 应该是什么。突然间,Swift 不仅仅是有点意义了,它开始为苹果社区创造新的范式,并在开源后,进军走向新的平台。
Swift 3 像是“打扫房屋”,“打破一切”。可以把它当作语言必经之挫折,用来保证语言基础的健全以及一致性。它可能不是最有趣的版本(说到这个,我最能想出的纯粹的“喜悦”的功能就是凯文巴拉德的序列/取/放功能),却能使得语言更为干净。
Swift 4 应该很有希望充满荣耀。我们应该可以看到完整泛型,并发,以及更多的东西:有趣,刺激,强大的特性。Swift 4 将会从其他语言获得灵感,并从数年的公众使用和反馈中吸收经验。Swift 4 应该是“几乎不打破东西”的版本,会让你觉得不能弄清楚公关应该如何推销它。(这也可能是 Swift 包管理器应该能取得 “Swift 2” 荣耀的地方。)
否定,愤怒,讨价还价,接受
Swift 2 到 3 会有很多让人们疯狂的改变。我们可以看到心爱的退化构造的消亡。Swift 正在以怪异的方式去重命名一切(“sorting”,“unioning” 等--而且,我不能保证当你把这些与 “sortInPlace” 和 “uninonInPlace” 做比较时,不会觉得 API 指令很致幻)。还有对熟悉命名的前缀剥离以及默认参数改变签名等等。
很多类似这样的改变就像给语言灌肠一样。它不见得是一个你可以获得欢乐的转变,但它之后可以使你的开发再次正确运转。(“Swift 3:健康纤维更新!”)
显然,很难对像“将 inout 关键字转变为装饰类型而不是标签”这样的改变兴奋起来,但是如果语言想保证它的卓越并交付到下一阶段,这是必要的家务活。
关于 Swift 3 路线图,我的总结如果有什么遗漏的话,那就是:Swift 3 是一门真正伟大的语言。而且 Swift 3 比 Swift 2 更好。
我可能会嘲笑一些命名的抉择,担心不熟悉的 Cocoa 调用,但总的来说,Swift 将会是我想要在未来几年用来写代码的语言。我也认为,在 Swift 3 发布后,苹果社区的大部分(以及更多!)会赞同。
你可以在这个 Github 仓库的 README 中找到一些通过了以及实施了的 Swift 3 提议。它们可能看起来有点枯燥,但是它们将会使事情变得不同。以一种高纤维维生素满载思慕雪的方式。
本文由 SwiftGG 翻译组翻译,已经获得作者翻译授权,最新文章请访问 http://swift.gg。
**粗体** _斜体_ [链接](http://example.com) `代码` - 列表 > 引用
。你还可以使用@
来通知其他用户。